Impossibile su per l'utente jenkins dopo aver installato Jenkins


93

Ho installato jenkins e sto cercando di entrare in una shell come Jenkins per aggiungere una chiave ssh. Non riesco a citare l'utente jenkins:

[root@pacmandev /]# sudo su jenkins
[root@pacmandev /]# whoami
root
[root@pacmandev /]# echo $USER
root
[root@pacmandev /]# 

L'utente jenkins esiste nel mio file / etc / passwd. Runnin su jenkinschiede una password, ma rifiuta la mia normale password. sudo su jenkinsnon sembra fare nulla; lo stesso per sudo su - jenkins. Sono su CentOS.


l'utente esiste ... ma probabilmente non ha shell, vedere superuser.com/questions/566041/…
thekbb

Non è necessario sudo quando sei root. Anche se non fa male.
thekbb

11
sudo usermod -s /bin/bash jenkins
jgb

1
non aggiungere una conchiglia a jenkins: ne manca una in base alla progettazione. In genere non si desidera consentire agli account di servizio di accedere in modo interattivo.
thekbb

Risposte:


232

jenkins è un account di servizio, non ha una shell in base alla progettazione. È generalmente accettato che gli account di servizio non dovrebbero essere in grado di accedere in modo interattivo.

Inizialmente non ho risposto a questa domanda perché è un duplicato di una domanda che è stata spostata in errore del server . Avrei dovuto rispondere piuttosto che collegarmi alla risposta in un commento.

se per qualche motivo vuoi accedere come jenkins, puoi farlo con: sudo su -s /bin/bash jenkins


8
Grazie! Capisco che l'aggiunta di una shell a jenkins sembra una cattiva idea; Lo stavo facendo perché c'erano comandi nel mio processo di compilazione che non avevo problemi a eseguire dalla mia shell, ma la compilazione non riusciva perché non poteva eseguirli. Volevo entrare come Jenkins e vedere se c'erano problemi di autorizzazione.
sfendell

modificato la risposta per incorporare le informazioni esattamente corrette di @mrg sulla necessità sudo.
thekbb

1
c'è una password predefinita che richiede perché non ricordo di aver impostato una password durante l'installazione.
Joe Lloyd

@mrg Quale password hai usato?
Nabin

@ JoeLloyd Hai scoperto la password predefinita? Qual è la password?
Nabin


-2

Se usi jenkins all'interno di docker. Quindi dovresti provare quanto segue.

  • Per prima cosa devi eseguire il contenitore jenkins "docker start (container-name o container-id)"

  • Quindi esegui questo comando "docker exec -it (container-name o container-id) bash"

Ora si spera che utilizzerai come utente jenkins.


-11

come root, inserisci su - jenkins

Inoltre, controlla in / etc / passwd che l'utente jenkins possa accedere: dovrebbe esserci qualcosa come / bin / bash o / bin / sh , certamente non / bin / false alla fine della riga.

Suggerimento: non usi su e sudo allo stesso tempo.


1
questo è esattamente il comando che l'OP ha provato ... hai ragione sul motivo per cui jenkins non può accedere, ma non sono d'accordo con la tua soluzione.
thekbb
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.