Я не могу понять разницу в этих двух командах

USER ALL=(ALL) NOPASSWD: ALL И USER ALL=(OTHERUSER) NOPASSWD: ALL

Может кто-нибудь объяснить изменение ()? Спасибо

1 ответ1

0

Из man 5 sudoers:

Базовая структура пользовательской спецификации - это who where = (as_whom) what .

А также

Зарезервированное слово ALL - это встроенный псевдоним, который всегда приводит к успешному совпадению.

В вашем случае разница в поле (as_whom) :

  • (ALL) означает, что USER может выполнять команды от имени любого пользователя.
  • (OTHERUSER) означает, что USER может запускать команды как OTHERUSER (например, sudo -u OTHERUSER whoami).

    Обратите внимание, это не означает, что USER не может запускать команды как YETANOTHERUSER . Если USER попытается запустить что-либо как YETANOTHERUSER тогда строка с (OTHERUSER) не будет совпадать, и анализатор продолжит работу; некоторые более поздние строки могут совпадать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .