Почему пользователю root нужны разрешения sudo?

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

Вопрос: зачем пользователю root нужны разрешения sudo? Я видел это на разных ОС UNIX. Может кто-нибудь, пожалуйста, объясните это?

whoisthesomeone
источник
2
sudo! = root.
DisplayName

Ответы:

25

Так что они могут (со manстраницы): -

выполнить команду от имени другого пользователя

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

sudo -u bloggs <command>

Обратите внимание, что пользователю root не нужно указывать пароль пользователя.

garethTheRed
источник
2
su -c '<command>' bloggs
Джошуа
Да, это метод суррогатного материнства, а root - просто очень распространенное использование.
Маккензм
9

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

Если вы хотите, чтобы этот сценарий также был полезен для пользователя root, удобно, чтобы последняя команда sudo не отказывалась работать, потому что «вы - root; root не имеет права sudo».

Конфигурирование этого в sudoers вместо жесткого кодирования исключение для root в двоичном файле sudo уменьшает сложность критического для безопасности кода в sudo (хотя и незначительно), что всегда хорошо.

Хмахолм оставил Монику
источник
1
И, кроме того, я уже не раз случайно запускал команду уровня администратора, sudoкогда уже был пользователем root, просто потому, что она укоренилась в моей мышечной памяти ...
Шадур
3

Причина, приведенная в оригинальном руководстве sudo (извините, я не знаю онлайн-версию), заключалась в том, что, когда это возможно, регистрировались активные команды при входе в систему как root.

Джошуа
источник