GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Shell-Befehl in Jenkins als Root-Benutzer ausführen?

Ich würde vorschlagen, den jenkins-Benutzer nicht als root auszuführen. Dies könnte das Betriebssystem und alle Repos, die Jenkins erstellen kann, offenlegen.

Das Ausführen eines beliebigen Skripts als root ist ein Sicherheitsrisiko, aber eine etwas sicherere Methode wäre, dem jenkins-Benutzer sudo-Zugriff zu gewähren, um nur das eine Skript auszuführen, ohne ein Passwort zu benötigen.

sudo visudo

und fügen Sie Folgendes hinzu:

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

Überprüfen Sie Ihren Pfad über das Konsolenprotokoll eines fehlgeschlagenen Build-Skripts. Der hier gezeigte ist der Standard.

Jetzt können Sie innerhalb der Jenkins-Aufgabe sudo $WORKSPACE/your script aufrufen


Sie müssen die Berechtigung für jenkins ändern Benutzer, damit Sie die Shell-Befehle ausführen können. Sie können die Jenkins als Dienst installieren (laden Sie das RPM-Paket herunter). Möglicherweise müssen Sie die Ports ändern, da standardmäßig http auf Port 8080 und AJP auf Port 8009 ausgeführt wird.



Der folgende Prozess ist für CentOS
1. Öffnen Sie dieses Skript (mit VIM oder einem anderen Editor):

vim /etc/sysconfig/jenkins

2. Finden Sie diese $JENKINS_USER und wechseln Sie zu „root“:

$JENKINS_USER="root"

3. Ändern Sie dann den Besitz von Jenkins Home, Webroot und Protokollen:

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

4) Starten Sie Jenkins neu und prüfen Sie, ob der Benutzer geändert wurde:

service jenkins restart
ps -ef | grep jenkins

Jetzt sollten Sie in der Lage sein, die Jenkins-Jobs als Root-Benutzer auszuführen, und alle Shell-Befehle werden als root ausgeführt .


Linux
  1. Wie führe ich einen Befehl als Systemadministrator (root) aus?

  2. Wie lösche ich Root-Rechte in Shell-Skripten?

  3. Linux-su-Befehl

  4. Wie führe ich einen Befehl als bestimmter Benutzer in einem Init-Skript aus?

  5. Wie führe ich den Vim-Befehl von der Shell aus?

So führen Sie einen Linux-Shell-Befehl / ein Skript im Hintergrund aus

ID-Befehl unter Linux

Linux-Befehl „runuser“ – Shell mit angegebener Benutzer-/Gruppen-ID ausführen

So werden Sie ein Root-Benutzer in Ubuntu

Kommando-Shell

Ausführen eines Befehls als nologin-Benutzer