Utilizzo di "su -" per modificare l'utente dato "Nessuna voce passwd per l'utente"


16

In particolare, sto provando qualcosa sul mio server di compilazione passando all'utente "jenkins":

sudo su - jenkins
No passwd entry for user 'jenkins'

1
adduser jenkins
Ipor Sircer,

@IporSircer Grazie, sì, sembra che non ci siano utenti jenkins.
kevlarjacket

Risposte:


10

Il messaggio di errore è praticamente autoesplicativo. Dice che l'utente jenkinsnon ha alcuna voce nel /etc/passwdfile, cioè l'utente non esiste nel sistema.

Quando si eseguono operazioni relative all'utente che richiedono nome utente, password, home directory, informazioni sulla shell, il /etc/passwdfile viene consultato per primo. Nessuna voce in quel file porta all'errore che stai ricevendo. Quindi devi prima creare l'utente ( useradd/ adduser). Come nota a margine, a meno che non sia necessario, è necessario creare qualsiasi utente specifico del servizio (non umano), ad esempio jenkinscome utente di sistema.


11
Direi che non si spiega da sé. L'errore riguarda una password e il problema è la non esistenza di un utente. Se l'errore fosse l'utente non esiste che sarebbe autoesplicativo.
YannickSSE,

1
@YannickSSE il messaggio di errore non riguarda la password, si tratta di passwd che è il database tradizionale degli account utente su un sistema (residente in /etc/passwd). Sulla maggior parte dei sistemi moderni, le password in quanto tali sono archiviate altrove, spesso all'interno /etc/shadow.
peterph

4

Dopo una rapida ricerca di "Elenca tutti gli utenti in Linux", ho trovato questa risposta ed ho eseguito il comando seguente:

cut -d: -f1 /etc/passwd

e, come suggerito da @Ipor Sircer, questo utente in realtà non esiste e devo aggiungerlo con:

adduser jenkins

Ha risolto il tuo problema? Creare un jenkinsutente da solo è uguale all'utente creato da jenkins stesso?
Reiley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.