Перейти к содержимому

Команда Судо

0

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

USER ALL=(ALL) NOPASSWD: ALL А ТАКЖЕ USER ALL=(OTHERUSER) NOPASSWD: ALL

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

547 просмотров
Pedro Macedo Vilas спросил 7 лет назад
P 3

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)не будет совпадать и анализатор продолжится; некоторые более поздние строки могут совпадать.

Таким образом, USER может выполнять команды sudo под именем OTHERUSER или будет иметь только привилегии OTHERUSER ?.

Pedro Macedo Vilas · 7 лет назад · 0

@PedroMacedoVilas Пользователь выбирает, кого явно олицетворять с помощью sudo -u selected_user some_command, как в примере, который я добавил к своему ответу. Если пользователю разрешено запускать some_command как selected_user, то команда будет запускаться с привилегиями selected_user.

Kamil Maciorowski · 7 лет назад · 0
Kamil Maciorowski ответил 7 лет назад
K 22 826