В наиболее распространенной конфигурации sudo
запрашивает пароль пользователя , выполняющего sudo
(, как вы говорите, пользователя, соответствующего реальному идентификатору пользователя процесса ). Смысл sudo
состоит в том, чтобы предоставить дополнительные привилегии определенным пользователям (, как определено конфигурацией в sudoers
), при этом этим пользователям не нужно предоставлять какую-либо иную аутентификацию, кроме их собственной. Однакоsudo
действительно проверяет, что пользователь, запускающий sudo
, действительно является тем, за кого он себя выдает, и делает это, запрашивая его пароль (или любой другой механизм аутентификации, настроенный для sudo
, обычно с использованием PAM — так что это может включать отпечаток пальца или двухфакторную -аутентификацию и т. д. ).
sudo
не обязательно дает права root, он может предоставлять различные привилегии. Любой пользователь, которому разрешено стать root с помощью sudoers
, может сделать это, используя только собственную аутентификацию; но пользователь, которому не разрешено, не может (, по крайней мере, не используяsudo
). Это обеспечивается не самим Linux, аsudo
(и его настройкой аутентификации ).
sudo
действительно запрашивает пароль после запуска; он не может иначе(т.е. он ничего не может сделать до он не начнет работать ). Смысл запроса sudo
пароля, даже если это root, заключается в проверке личности работающего пользователя (в его типичной конфигурации ).
Мне неизвестен системный -локальный инструмент, который может делать это в Linux. Однако существует программа, которая будет делать это для процесса и его дочерних элементов (с оговорками ), чего часто бывает достаточно, faketime
— подробности см. в Временное изменение времени ..
Я помню, как лет пятнадцать назад использовал управляемый NTP-сервер для системных -общесистемных тестов; если я вспомню, что это было, я добавлю информацию здесь.