Это больше, чем просто пользователь и команда:
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 для запуска команды как любого другого пользователя или группы.
Давайте разделим это: 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, он может быть и используется для более простого доступа к определенным командам.