sudoers - простое объяснение

используется сжатие DVD и K3B для выполнения задания

20
задан 2 April 2012 в 19:52

2 ответа

Это больше, чем просто пользователь и команда:

redsandro host=(user:group) tag:commands
host указывает имена хостов, для которых эта строка действительна. Если вы не используете файл asudoers среди разных хостов, которым нужны разные правила, используя специальное значение ALL, означающее «все хосты», является хорошим выбором. user указывает, какие пользователи вы можете использовать с параметрами -u для запуска команды. Если вы опустите это, вы не сможете использовать опцию -u. group указывает, какие группы вы можете использовать с параметрами -g. Если вы опустите его, вы не сможете использовать опцию -g.

Оба user и group понимают специальное значение ALL как «все пользователи / группы»

Если вы опускаете целую (user:group) вещь, которую вы не можете использовать -u и -g, но выполняйте только команду root.

host указывает имена хостов, для которых эта строка действительна. Если вы не используете файл asudoers среди разных хостов, которым нужны разные правила, используя специальное значение ALL, что означает «все хосты», это хороший выбор.

Итак, в первом примере вы можете запустить команду как root, но не можете использовать -u и -g для запуска ее как любого другого пользователя или группы.

В примере 2. вы можете запустить команду как root или используйте -u для запуска его как любого другого пользователя.

С помощью 3. вы можете запустить команду с правами root или использовать -u или -g для запуска команды как любого другого пользователя или группы.

29
ответ дан 25 May 2018 в 13:01
  • 1
    Это именно то, что я искал. Я принял ваш ответ и благодарю вас за ваш блеск. – Redsandro 3 April 2012 в 02:25
  • 2
    Заключительная мысль, могу ли я использовать 127.0.0.1 или localhost как host для тривиальной дополнительной безопасности? – Redsandro 3 April 2012 в 02:28
  • 3
    В manpage говорится, что 'Примечание sudo проверяет только фактические сетевые интерфейсы; это означает, что IP-адрес 127.0.0.1 (localhost) никогда не будет соответствовать. Кроме того, имя хоста & localhost " будет соответствовать только, если это фактическое имя хоста, что обычно имеет место только для несетевых систем. ' – Florian Diesch 3 April 2012 в 03:18
  • 4
    Благодарю. Нет имени хоста для меня, тем более, что я хочу иметь возможность копировать файл sudoers на несколько машин. ALL это так. – Redsandro 3 April 2012 в 18:36

Давайте разделим это: redsandro ALL=(ALL:ALL) NOPASSWD:/path/to/command

redsandro - это имя пользователя, на которое мы даем разрешение. Положите% на лицевой стороне, чтобы применить его к группе.

ALL - это имя для этого правила. Судомеры могут сделать намного больше, чем просто предоставить глобальные разрешения. Вот где все усложняется.

= не нуждается в объяснении

ALL: ALL читается как (who_to_run_it_as: what_group_to_run_it_as). Таким образом, вы можете разрешить запуск команды, но только в контексте конкретного пользователя или группы.

NOPASSWD: говорит, чтобы он отключил приглашение пароля.

/ path / to / command позволяет вам указывать конкретные команды path_to_commmand, another_command

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

8
ответ дан 25 May 2018 в 13:01
  • 1
    Спасибо за дополнительные примечания % и , another_command. Теперь я понимаю строку %wheel в дистрибутиве Fedora. – Redsandro 3 April 2012 в 02:26

Другие вопросы по тегам:

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