Insbesondere versuche ich, etwas auf meinem Build-Server zu testen, indem ich zum Benutzer "jenkins" wechsle:
sudo su - jenkins
No passwd entry for user 'jenkins'
Insbesondere versuche ich, etwas auf meinem Build-Server zu testen, indem ich zum Benutzer "jenkins" wechsle:
sudo su - jenkins
No passwd entry for user 'jenkins'
Antworten:
Die Fehlermeldung ist so ziemlich selbsterklärend. Es heißt, der Benutzer jenkins
hat keinen Eintrag in der /etc/passwd
Datei, dh der Benutzer existiert nicht im System.
Wenn Sie benutzerbezogene Vorgänge ausführen, für die Benutzername, Kennwort, Basisverzeichnis und Shell-Informationen erforderlich sind, wird die /etc/passwd
Datei zuerst konsultiert. Kein Eintrag in dieser Datei führt zu genau dem Fehler, den Sie erhalten. Sie müssen also zuerst den Benutzer ( useradd
/ adduser
) erstellen . Als Randnotiz sollten Sie, sofern nicht erforderlich, einen dienstspezifischen Benutzer (nicht menschlich) anlegen, z jenkins
. B. als Systembenutzer.
/etc/passwd
). Auf den meisten modernen Systemen werden die Kennwörter als solche an anderer Stelle gespeichert - häufig in /etc/shadow
.
Nach einer kurzen Suche nach "List all users in Linux" fand ich diese Antwort und führte den folgenden Befehl aus:
cut -d: -f1 /etc/passwd
und, wie @Ipor Sircer angedeutet hat, existiert dieser Benutzer tatsächlich nicht, und ich muss ihn hinzufügen mit:
adduser jenkins
jenkins
Benutzers durch Sie dasselbe wie das Erstellen eines Benutzers durch Jenkins selbst?
adduser jenkins