Utilidad que permite a un usuario ejecutar programas con privilegios de root. En algunas distros sólo el usuario creado durante la instalación puede ejecutar sudo con privilegios de root, los demás han de ser agregados al grupo admin. Incluye las aplicaciones: cvtsudoers [convertir entre formatos de archivo sudoers], sudoedit [Ejecutar comandos como otro usuario] y sudoreplay [enumera los registros de salida creados por sudo]
$ sudo -k
$ sudo -u usuario comando
$ sudo -l
$ sudo !!
Pueden añadirse las siguientes lineas en /etc/sudoers:
Defaults passprompt=”mi frase solicitando la contraseña...”
Defaults badpass_message=”mi frase si se entra erronea...”
usuario ALL=(ALL) ALL (Añadir el usuario a sudo)
Defaults:usuario !authenticate (si no queremos que nos pida la contraseña)
usuario ALL=NOPASSWD: /usr/sbin/firestarter (Para que no pida contraseña al arrancar una aplicación concreta)
O añadir a la linea Defaults, algunos parámetros separados por comas:
timestamp_timeout=5 (La contraseña se guardará 5 minutos.)
insults (Te mostrará insultos si fallas la contraseña)
passwd_tries=2 (Permitir 2 errores al entrar la contraseña. Por defecto 3)
rootpw (Para que nos pida la contraseña de root y no la de usuario)
Ejemplos:
Defaults !lecture,tty_tickets,!fqdn,timestamp_timeout=0,insults
Defaults@192.168.1.2 !lecture,tty.... (Permitir ejecución sólo desde nuestra máquina)
1.-
Añadir un usuario con privilegios de root:
# nano /etc/sudoers.d/10-installer
Y añadir la linea:
USER ALL=(ALL) NOPASSWD: ALL
2.-
Para que al entrar un contraseña en la terminal aparezcan asterisco:
En la linea: Defaults env_reset
Añadir "pwfeedback" dejándola:
Defaults env_reset , pwfeedback
3.-
Ver la totalidad de acciones realizadas con el comando sudo
# journalctl _COMM=sudo
4.-
Significado de: %sudo ALL=(ALL:ALL) ALL
Un % especifica que se trata de un grupo, en este caso el grupo sudo. ALL=(ALL) o ALL=(ALL:ALL) especifica que en cualquier host que pueda tener este archivo, sudo puede ejecutar cualquier comando. El ALL final especifica que sudo puede ejecutar esos comandos como cualquier usuario en el sistema.