Чому користувачеві root потрібен дозвіл sudo?


16
[root@notebook ~]# grep root /etc/sudoers
root    ALL=(ALL)   ALL

Питання: Чому користувачеві root потрібні права доступу до sudo? Я бачив це на різних ОС UNIX. Може хтось, будь ласка, пояснить це?


2
sudo! = корінь.
DisplayName

Відповіді:


25

Щоб вони могли (зі manсторінки): -

виконати команду як інший користувач

sudoне обмежується дозволом звичайним користувачам виконувати команду як root. Root може виконувати команду як інший користувач із:

sudo -u bloggs <command>

Зауважте, що root не потрібно буде вводити пароль користувача.


2
su -c '<command>' bloggs
Джошуа

Так, це метод сурогатства, а корінь - це дуже поширене використання.
mckenzm

9

Припустимо, у вас є сценарій, який робить купу речей, не потребуючи спеціальних привілеїв, а потім єдину привілейовану річ, яку він робить через sudo.

Якщо ви хочете, щоб цей скрипт був корисним і для root, зручно, що ця остання команда sudo не відмовиться працювати, оскільки "ви root, root не має права sudo".

Налаштування цього в sudoers замість жорсткого кодування вилучення корінця у бінарному файлі sudo зменшує складність критично важливого для безпеки коду в sudo (хоч і незначно), що завжди добре.


1
І крім того, я не раз випадково запускав команду на рівні адміністратора, sudoпоки я вже був root, просто тому, що це вбудовано в мою м'язову пам'ять ...
Шадур,

3

Причина, наведена в оригінальному посібнику по судо (вибачте, не відома мені онлайн-версія), полягає в тому, що ввійти в систему як кореневий журнал, коли це можливо, активні команди.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.