Я не могу понять разницу в этих двух командах
USER ALL=(ALL) NOPASSWD: ALL
И USER ALL=(OTHERUSER) NOPASSWD: ALL
Может кто-нибудь объяснить изменение ()? Спасибо
Я не могу понять разницу в этих двух командах
USER ALL=(ALL) NOPASSWD: ALL
И USER ALL=(OTHERUSER) NOPASSWD: ALL
Может кто-нибудь объяснить изменение ()? Спасибо
Из 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)
не будет совпадать, и анализатор продолжит работу; некоторые более поздние строки могут совпадать.