Как создать пользователя Linux, где sudo запрашивает пароль root, а не текущего пользователя

Я столкнулся с этим в изолированной среде (, в которой безопасность не была -проблемой )и была решена простым запуском svn lsв репозитории с соответствующими учетными данными с помощью (linux )yes, хотя я обнаружил, что мне пришлось удалить каталог ~/.subversion, чтобы заставить его работать. В частности:

rm -fr ~/.subversion yes yes | svn --username=user --password=guest ls svn://server/repo &>/dev/null

Затем все последующие команды svn будут использовать эти учетные данные на этом сервере. Конечно, можно передать yes yesлюбой команде svn, у которой есть опция --password.

наслаждайтесь!

0
17.03.2020, 01:04
1 ответ

I want my user xxxx to NOT have root access, except when using sudo.

На самом деле это нормальное состояние для обычных пользователей. :вам не нужно ничего делать, кроме как настроить sudo, чтобы указать, какие команды разрешать.

root    ALL=(ALL:ALL) ALL

Эта строка существует только для того, чтобы разрешить использование sudo, если вы уже переключились на пользователя root. Важная строка, которая предоставляет разрешения не -root-пользователям, это:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

(В некоторых дистрибутивах Linux первый обычный пользователь, созданный во время установки ОС, может стать членом группы sudoи, таким образом, для него будет автоматически включен root-доступ. Это исключение, а не значение по умолчанию для всех пользователей.)

Основная форма спецификации разрешений в файле sudoers:

<who>  <where>=(<as_who>) <what>
  • <who>указывает, какие пользователи (и )могут использовать эту запись. Это может быть пользователь, группа (с префиксом % )или ранее -определенный Пользователь _Псевдоним (в основном сокращение для длинного списка пользователей и/или групп ). ] и некоторые другие вещи.

  • <where>может быть именем хоста. :ограничивает эту запись конкретной системой. Это может быть полезно в корпоративной среде, где вы устанавливаете централизованно -управляемый стандартный файл sudoersна все хосты, но часто это указывается как ВСЕ, чтобы избежать проблем в случае, если разрешение имени хоста не работает или система неправильно настроена.

  • (<as_who>)определяет учетную запись пользователя (s ), под которой могут выполняться команды. По умолчанию используется root, но вы также можете ограничить пользователя, чтобы он мог запускать команды с помощью sudo, например, только для определенной учетной записи приложения, отличной от -.

  • <what>— это команда (или команды, разделенные запятыми )для разрешения.

Существуют также различные теги и параметры, но вышеперечисленное является важной частью файла sudoersв двух словах.

When using sudo I want the xxxx user to be prompt for the root password and not his own password

Это возможно, и это довольно легко сделать. Если вы добавите эти строки в свой файл sudoers:

Defaults:xxxx rootpw,timestamp_timeout=0
xxxx    ALL=(ALL:ALL) ALL

затем для пользователяxxxxтолько для них ), команда sudoзапросит пароль root -и будет запрашивать каждый раз, Используется команда sudoвместо поведения по умолчанию, позволяющего до 15 минут использовать команду sudoбез повторного запроса пароля.

Это важно, если вы планируете следить за пользователем и вводить пароль root самостоятельно, когда это необходимо этому пользователю. -Если вы пропустите опцию timestamp_timeout=0, пользователь может сначала попросить вас ввести пароль root для некоторых законные действия, а затем отвлекут вас в течение следующих 15 минут, и в течение этого времени они смогут использовать sudoдля всего, что захотят.

Но обратите внимание, что если вы сообщите своему пользователю пароль root, они смогут использовать его с командой suтакже , если только вы не применяете ограничения по умолчанию -к su. Классический (и обычно единственный )способ ограничить su— потребовать, чтобы пользователь был членом определенной группы, иначе он вообще не сможет использовать su. Чтобы применить это ограничение, отредактируйте /etc/pam.d/suи найдите эту часть в самом начале:

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

Просто удалите #в начале последней строки, и команда suбудет доступна только членам группы root.

5
28.04.2021, 23:20

Теги

Похожие вопросы