GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ejecutar el comando de shell en jenkins como usuario root?

Sugeriría no ejecutar el usuario jenkins como root. Esto podría exponer el sistema operativo y todos los repositorios que jenkins puede construir.

Ejecutar cualquier secuencia de comandos como root es un riesgo para la seguridad, pero un método un poco más seguro sería otorgar al usuario de jenkins acceso sudo para ejecutar solo una secuencia de comandos, sin necesidad de una contraseña.

sudo visudo

y agrega lo siguiente:

jenkins    ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script

Vuelva a verificar su ruta a través del registro de la consola de un script de compilación fallido. El que se muestra aquí es el predeterminado.

Ahora dentro de la tarea de jenkins puedes llamar a sudo $WORKSPACE/your script


Necesitas modificar el permiso para jenkins usuario para que pueda ejecutar los comandos de shell. Puede instalar jenkins como servicio (descargue el paquete rpm). Es posible que deba cambiar los puertos porque, de forma predeterminada, ejecuta http en 8080 y AJP en el puerto 8009.



El siguiente proceso es para CentOS
1. Abra este script (usando VIM u otro editor):

vim /etc/sysconfig/jenkins

2. Encuentra este $JENKINS_USER y cambiar a "raíz":

$JENKINS_USER="root"

3. Luego cambie la propiedad de Jenkins home, webroot y logs:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

4) Reinicie Jenkins y verifique que el usuario haya cambiado:

service jenkins restart
ps -ef | grep jenkins

Ahora debería poder ejecutar los trabajos de Jenkins como usuario raíz y todos los comandos de shell se ejecutarán como root .


Linux
  1. Linux su comando

  2. ¿Cómo ejecutar un comando como un usuario específico en un script de inicio?

  3. ¿Por qué ejecutar un comando de shell de Linux con '&'?

  4. Limitar usuario para ejecutar comandos selectivos (Linux)

  5. Ejecute un script de shell como un usuario diferente

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Comando de identificación en Linux

Comando runuser de Linux - Ejecutar Shell con ID de usuario/grupo especificado

Cómo convertirse en un usuario raíz en Ubuntu

Construcción de comandos

Ejecutar un comando como usuario nologin