¿Por qué el usuario root necesita permiso sudo?

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

Pregunta: ¿Por qué el usuario root necesita permisos de sudo? Lo he visto en diferentes sistemas operativos UNIX. ¿Puede alguien por favor explicar esto?

Whoisthesomeone
fuente
2
sudo! = raíz.
DisplayName

Respuestas:

25

Para que puedan (desde la manpágina): -

ejecutar un comando como otro usuario

sudono se limita a permitir que los usuarios regulares ejecuten un comando como root. Root puede ejecutar un comando como otro usuario con: -

sudo -u bloggs <command>

Tenga en cuenta que root no necesitará proporcionar la contraseña del usuario.

garethTheRed
fuente
2
su -c '<comando>' bloggs
Joshua
Sí, es un método de subrogación y la raíz es simplemente un uso muy común.
mckenzm
9

Supongamos que tiene un script que hace un montón de cosas sin necesidad de privilegios especiales, y luego una sola cosa privilegiada que hace a través de sudo.

Si desea que este script también sea útil para root, es conveniente que este comando final de sudo no se niegue a funcionar porque "usted es root; root no tiene permitido sudo".

Configurar esto en sudoers en lugar de codificar una exención para root en el sudo binario reduce la complejidad del código crítico de seguridad en sudo (aunque sea ligeramente), lo que siempre es algo bueno.

hmakholm dejó a Monica
fuente
1
Y además, más de una vez accidentalmente comencé un comando de nivel de administrador sudomientras ya era root, solo porque está arraigado en mi memoria muscular ...
Shadur
3

La razón dada en el manual original de sudo (lo siento, no hay una versión en línea que conozca) fue para registrar comandos activos siempre que sea posible cuando inicie sesión como root.

Joshua
fuente