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.