it-swarm.com.de

Verwenden von "su -", um den Benutzer zu ändern, wenn "Kein passwd-Eintrag für Benutzer" angegeben ist.

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'
17
kevlarjacket

Die Fehlermeldung ist ziemlich selbsterklärend. Es heißt, dass der Benutzer jenkins keinen Eintrag in der Datei /etc/passwd Hat, d. H. Der Benutzer existiert nicht im System.

Wenn Sie benutzerbezogene Vorgänge ausführen, für die Benutzername, Kennwort, Ausgangsverzeichnis und Shell-Informationen erforderlich sind, wird zuerst die Datei /etc/passwd Abgerufen. Kein Eintrag in dieser Datei führt zu dem Fehler, den Sie erhalten. Sie müssen also zuerst den Benutzer erstellen (useradd/adduser). Als Randnotiz sollten Sie, sofern nicht erforderlich, einen dienstspezifischen Benutzer (nicht menschlich) erstellen, z. jenkins als Systembenutzer.

10
heemayl

Nach einer kurzen Suche nach "Alle Benutzer unter Linux auflisten" fand ich diese Antwort und führte den folgenden Befehl aus:

cut -d: -f1 /etc/passwd

und, wie @Ipor Sircer vorgeschlagen hat, existiert dieser Benutzer nicht wirklich, und ich muss ihn hinzufügen mit:

adduser jenkins
4
kevlarjacket