La mayor diferencia es que con sudo
usted no necesita la contraseña de root para ejecutar un comando como root, como lo haría para su
. Necesita la contraseña de root para agregar a alguien al sudoers
archivo, pero a partir de entonces esa persona puede ejecutar todo o algo (si lo ha restringido) como root sin requerir una contraseña adicional.
La otra diferencia es, como ha notado, que sudo
permite un control mucho más preciso sobre exactamente qué comandos se pueden ejecutar.
Para detalles del formato del sudoers
archivo ejecutado man sudoers
. Encontrarás ejemplos de permitir que solo ciertos comandos se ejecuten como root. La estructura básica de cada línea es:
user_list host_list = cmd_list
cmd_list puede incluir detalles de a qué usuario se le permite cambiar al usuario real. Por ejemplo, puede permitir que un webmaster cambie a wwwroot para reiniciar apache pero no a root. También puede incluir otras opciones, como si se requiere la contraseña de los usuarios antes de cambiar (este es el valor predeterminado).
Una línea de ejemplo podría ser:
joe ALL=(ALL) ALL
lo que significa: dejar que Joe ejecute cualquier comando en cualquier host como cualquier usuario. Una línea más apretada podría ser:
joe ALL=(operator) /usr/local/ops/
lo que significa: dejar que Joe ejecute cualquier comando en el directorio / usr / local / ops como el "operador" del usuario.
Hay muchos ejemplos al final de la página de manual de sudoers.
Deberías editar /etc/sudoers
con el comando visudo
. Esto verifica que el archivo sea legal y ayuda a evitar que lo rompa accidentalmente.
sudo
es un invento increíble