GNU/Linux >> Tutoriels Linux >  >> Linux

Exécutez la commande shell dans jenkins en tant qu'utilisateur root ?

Je suggérerais de ne pas exécuter l'utilisateur jenkins en tant que root. Cela pourrait exposer le système d'exploitation et tous les référentiels que jenkins peut créer.

L'exécution de n'importe quel script en tant que root est un risque de sécurité, mais une méthode légèrement plus sûre consisterait à accorder à l'utilisateur jenkins un accès sudo pour n'exécuter qu'un seul script, sans avoir besoin d'un mot de passe.

sudo visudo

et ajoutez ce qui suit :

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

Vérifiez votre chemin via le journal de la console d'un script de construction ayant échoué. Celui affiché ici est celui par défaut.

Maintenant, dans la tâche jenkins, vous pouvez appeler sudo $WORKSPACE/your script


Vous devez modifier l'autorisation pour jenkins user afin que vous puissiez exécuter les commandes shell. Vous pouvez installer le jenkins en tant que service (téléchargez le package rpm). Vous devrez peut-être modifier les ports car, par défaut, il exécute http sur le port 8080 et AJP sur le port 8009.



Le processus suivant est pour CentOS
1. Ouvrez ce script (à l'aide de VIM ou d'un autre éditeur) :

vim /etc/sysconfig/jenkins

2. Trouvez ce $JENKINS_USER et passez à "root":

$JENKINS_USER="root"

3. Changez ensuite le propriétaire de Jenkins home, webroot et logs :

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

4) Redémarrez Jenkins et vérifiez que l'utilisateur a bien été modifié :

service jenkins restart
ps -ef | grep jenkins

Vous devriez maintenant pouvoir exécuter les tâches Jenkins en tant qu'utilisateur root et toutes les commandes shell seront exécutées en tant que root .


Linux
  1. Comment exécuter une commande en tant qu'administrateur système (racine) ?

  2. Comment supprimer les privilèges root dans les scripts Shell ?

  3. Comment faire en sorte qu'un script shell s'exécute toujours en tant que root ?

  4. Comment exécuter une commande sans propriétés racine ?

  5. Commande Linux su

Comment exécuter une commande / un script Linux Shell en arrière-plan

Commande ID sous Linux

Commande Linux runuser - Exécuter Shell avec l'ID utilisateur/groupe spécifié

Comment devenir un utilisateur root dans Ubuntu

Interface de commandes

Limiter l'utilisateur à exécuter des commandes sélectives (Linux)