Команда Судо

349
Pedro Macedo Vilas

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

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

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

0

1 ответ на вопрос

0
Kamil Maciorowski

От 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 5 лет назад 0
@PedroMacedoVilas Пользователь выбирает, кого явно олицетворять с помощью `sudo -u selected_user some_command`, как в примере, который я добавил к своему ответу. Если пользователю разрешено запускать `some_command` как` selected_user`, то команда будет запускаться с привилегиями `selected_user`. Kamil Maciorowski 5 лет назад 0

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