Ejecutar comandos con SUDO sin solicitar contraseña y/o sin TTY

publicado por Carlos Torres el 01/03/2011 17:41

En ocasiones y con determinados comandos queremos que SUDO no nos pida la contraseña al ejecutarlo, por ejemplo:

bash-3.2$ sudo comando
[sudo] password for usuario:

Para ello podemos utilizar en el fichero /etc/sudoers las etiquetas PASSWD y NOPASSWD, por ejemplo:

Cmnd_Alias ALIAS1 = /ruta_del_commado/comando1
Cmnd_Alias ALIAS2 = /ruta_del_commado/comando2a,/ruta_del_commado/comando2b
Cmnd_Alias ALIAS3 = /ruta_del_commado/comando3

usuario ALL = NOPASSWD: ALIAS1, PASSWD: ALIAS2, ALIAS3

En este caso permitimos el comando (sin solicitar contraseña de sudo) /ruta_del_commado/comando1 y para el resto nos solicitará la contraseña.

Si lanzamos el comando desde alguna aplicación que no use un terminal (TTY), será necesario desactivarlo en /etc/sudoers

Defaults: !requiretty

Y si es para un único usuario:

Defaults:usuario !requiretty

Añadir un comentario:

Nombre:

E-Mail:

Comentario: :

Enviar >>