specified run program present instalacion askpass and linux ubuntu jenkins sudo

linux - run - Mejores prácticas para evitar el error de Jenkins: sudo: no tty presente y no se especificó el programa askpass



sudo jenkins (2)

La cosa no tty ( requiretty en sudoers ) es el verdadero problema.

Básicamente, comente las siguientes líneas en su archivo / etc / sudoers :

#Defaults requiretty #Defaults !visiblepw

Lo anterior se toma de esta respuesta a esta pregunta en el sitio de Unix & Linux Stack Exchange:

Al ejecutar cualquier comando sudo de Jenkins, sudo: no tty present and no askpass program specified el siguiente error: sudo: no tty present and no askpass program specified .

Entiendo que puedo resolver esto agregando una entrada NOPASSWD a mi /etc/sudoers que permitirá al usuario jenkins ejecutar comandos sin necesidad de una contraseña. Puedo agregar una entrada como esta:

%jenkins ALL=(ALL)NOPASSWD:/home/me/dir/script.sh

... pero esto lleva al siguiente problema: https://stackoverflow.com/questions/17414330/how-to-avoid-specifying-full-path-in-sudoers-file

Puedo agregar una entrada como esta:

%jenkins ALL=NOPASSWD: ALL

... pero esto permite a los usuarios jenkins evitar la solicitud de contraseña para TODOS los comandos, lo que parece un poco inseguro. Solo tengo curiosidad sobre cuáles son mis opciones aquí, y si hay algunas mejores prácticas que debería considerar.


Una cosa que puedes hacer es hacer que Jenkins ejecute un script, por ejemplo ''run.sh'', luego desde este script puedes iniciar makefiles y asegurarte de que no haya comandos sudo dentro de los makefiles.

Es un poco molesto, pero al menos no te arriesgas a cambiar la configuración de seguridad