Ich habe ein kleines Problem. Ich habe einen passwortlosen Benutzer (Jenkins) auf einem Unix-System. Dieser Benutzer wird von Jenkins verwendet, um einige Befehle auszuführen. Da ich nvm auf diesem Unix-System installiert habe, musste ich /etc/profile
einen Abschnitt hinzufügen, um den Benutzern mitzuteilen, wo sich die Binärdatei befindet.
Durch die Ausführung
sudo -u jenkins nvm
Ich erhalte folgenden Fehler:
[USER@HOST ~]$ sudo -u jenkins nvm
/bin/nvm: line 6: /bin/nvm.sh: No such file or directory
Für alle anderen Benutzer funktioniert diese Einstellung, aber nicht für den Jenkins-Benutzer. Der Jenkins-Benutzer hat kein eigenes Home-Verzeichnis im /home-Ordner. Daher vermute ich, dass das der Grund ist, warum es für ihn nicht funktioniert.
Wie kann ich diese Einstellungen auf den Jenkins-Benutzer anwenden?
Linux xx 3.10.0-957.21.3.el7.x86_64 #1 SMP Fri Jun 14 02:54:29 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
Antwort1
Damit die Shell beim Benutzerwechsel mit Befehle von usw. liest und ausführt /etc/profile
, müssen Sie wahrscheinlich die Option oder verwenden , d. h . ./etc/bashrc
sudo
-i
--login
sudo -i -u jenkins nvm