sudo
позволяет пользователям выполнять команды как UID 0 (или другим пользователям )в зависимости от того, как он настроен. Нет необходимости спрашивать у root пароль для запуска команды с UID 0, потому что это уже UID 0.
Кроме того, root также может su
кому угодно, поэтому нет необходимости запрашивать пароль при выполнении sudo -u user
с UID 0.
Примечание. :Я полагаю, что существует настройка PAM, которая даже потребует от root предоставить пароль для целевого пользователя при использовании su
.
Хотя это интересное несоответствие. Было бы бессмысленно останавливать root, так как у root есть возможности CAP_SETUID
и CAP_SETGID
, поэтому sudo не нужен. Он может делать все, что захочет.
Если sudo
проверяет root, а не эти возможности, то может быть скрытая -ошибка :root без возможностей мог эскалироваться (Не знаю, я не смотрел код, или проверено ).