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'
linux
su
not-root-user
jenkins
Kevlarjacke
quelle
quelle
adduser 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, zjenkins
. B. als Systembenutzer.quelle
/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:
und, wie @Ipor Sircer angedeutet hat, existiert dieser Benutzer tatsächlich nicht, und ich muss ihn hinzufügen mit:
quelle
jenkins
Benutzers durch Sie dasselbe wie das Erstellen eines Benutzers durch Jenkins selbst?