systemadmin.es > Seguridad > sudo: sorry, you must have a tty to run sudo

sudo: sorry, you must have a tty to run sudo

Al intentar ejecutar procesos con sudo desde otro proceso nos podemos encontrar con el siguiente mensaje:

Mar  7 23:38:53 pica sudo:     root : sorry, you must have a tty to run sudo ; TTY=unknown ; PWD=/home/jordi ; USER=jordi ; COMMAND=/usr/bin/ejemplo

Nos esta diciendo que sudo pide que sea ejecutado desde una terminal. Esto es la opción requiretty que podemos encontrar en el sudoers:

# grep tty /etc/sudoers
Defaults    requiretty

Eliminando esta linea de suoders con visudo ya podremos ejecutar procesos con sudo sin que deban ejecutase desde una terminal.

En caso que no exista y siga dando el error, podemos deshabilitar dicho comportamiento por defecto mediante:

Defaults    !requiretty

Incluso, lo podemos hacer por usuario:

Defaults:nagios    !requiretty

3 comments to “sudo: sorry, you must have a tty to run sudo”

  1. Este error suele darse con los chequeos que hacen uso del nrpe.

  2. Al principio estaba escéptico porque si algo viene por defecto quitarlo no debería hacerse a la ligera, pero por lo que he leído no tiene mucha importancia, lo que si he visto y quería compartir es que se puede ajustar a nivel de usuario más o menos así

    Defaults:jordi !requiretty
    

    dentro del mismo sudoers. Así se tiene más control sobre el tema.

    Saludos

  3. Esta es muy buena, si es únicamente para el nrpe se puede quitar sólo para dicho usuario.

    Muchas gracias por la aportación!

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>