Каков правильный синтаксис sudoers для добавления пользователя?

Согласно комментариям в /etc/sudoers (Fedora 13):

 ## Syntax: ## ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. 

Мои два смежных вопроса:

  1. Что означает ALL=(ALL) ALL в следующей строке:

     root ALL=(ALL) ALL 
  2. Я тестировал эти две строки, но я не могу понять, как они функционально отличаются:

     superadm ALL=(ALL) ALL superadm ALL=ALL 

Я прочитал руководство, но спецификацию синтаксиса трудно выполнить. Я понял, что часть (ALL) ALL – это спецификация команд и тегов, но я все еще не могу обойти ее.

2 Solutions collect form web for “Каков правильный синтаксис sudoers для добавления пользователя?”

Примечание: Я отвечаю 1. , поскольку Игнасио уже ответил 2 ..

В следующей записи sudo :

 superadm ALL=(ALL) ALL 

существует четыре поля:

  • Первый указывает пользователя, которому будут предоставлены привилегии для некоторых команд.
  • Второй вариант редко используется. Это список имен хостов, на которых эта запись sudo будет эффективной. При стандартных настройках имеет значение только один хост (localhost), поэтому это поле обычно остается как ALL .
  • Четвертое поле – это список команд, которые superadm сможет выполнять с повышенными привилегиями. ALL означает все команды. В противном случае используйте список команд, разделенных запятыми.
  • Третье поле (одно написанное (…) которое является необязательным) указывает, какие пользователи (и группы) могут использовать команды superadm для выполнения следующих команд. ALL означает, что они могут выбрать что угодно (неограниченное). Это поле опущено, это значит, что (root) .

Пример:

 alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill 

Здесь alan разрешено запускать две команды /bin/ls и /bin/kill как root (или bin ), возможно, с дополнительными привилегиями operator или system групп.

Таким образом, alan может выбрать запуск ls в качестве пользователя bin и с такими групповыми привилегиями operator как это:

 sudo -u bin -g operator /bin/ls /whatever/directory 

Если -u опущено, это то же самое, что и -u root . Если -g опущено, дополнительных привилегий группы не предоставляется.

На странице руководства sudoers(5) , раздел DESCRIPTION , подраздел Runas_Spec :

Первый Runas_List указывает, какие пользователи могут выполнять эту команду, как с помощью опции -u sudo .

Если Runas_Spec не указан, команда может быть запущена как root и никакая группа не может быть указана.

Таким образом, нет никакой функциональной разницы при попытке запуска команд как root , т. Е. Когда не используется -u с sudo . Разница имеет значение при попытке запуска команд в качестве других пользователей; последнее предотвратит это, но первое это позволит.

  • Почему sudo -S не работает для команды «mysql»?
  • Запретить sudo запрашивать пароль при запуске недопустимой команды
  • Попросите пароль пользователя, чтобы он переключился на
  • Разрешить определенному пользователю sudo пользователям, входящим в группу X
  • Как отключить requiretty для одной команды в sudoers?
  • Ошибка при запуске команды sudo visudo?
  • Почему я запрашивал пароль при установке NOPASSWD, но я могу переключиться на корневую оболочку и запустить ту же команду без пароля?
  • Что означает «ВСЕ ВСЕ = (ВСЕ) ВСЕ» означает в судерах?
  • Есть ли способ запустить sudo, не запуская еще одну ненужную команду?
  • sudo vs "rwx" доступ
  • Добавление www-данных в / etc / sudoers dos не работает для PHP shell_exec () для запуска команды
  • Разрешить пользователю использовать sudo без пароля
  • Linux и Unix - лучшая ОС в мире.