$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 136808 Jul 4 2017 /usr/bin/sudo
таким чином sudo
може бути запущений будь-яким користувачем, і будь-який користувач, який працює sudo
, матиме root як ефективний ідентифікатор користувача процесу, оскільки встановлено біт id-user set-user /usr/bin/sudo
.
З https://unix.stackexchange.com/a/11287/674
Найбільш помітна різниця між sudo та su полягає в тому, що sudo вимагає пароль користувача, а su вимагає root.
Який пароль користувача
sudo
запитує? Чи це користувач, представлений реальним ідентифікатором користувача процесу?Якщо так, чи не може жоден користувач отримати права привілею суперпользователя, запустивши
sudo
та надавши свій власний пароль? Чи може Linux обмежити це для деяких користувачів?Є чи це виправити , що
sudo
запитує пароль післяexecve()
того, як починає виконуватисяmain()
з/usr/bin/sudo
?Оскільки euid процесу змінено на root (оскільки встановлено біт set-user-id / usr / bin / sudo), який сенс Sudo запитувати пароль пізніше?
Дякую.
Я прочитав https://unix.stackexchange.com/a/80350/674 , але він не відповідає на вищезазначені питання.