2013-08-05 1 views
62

Ho installato jenkins e sto cercando di entrare in una shell come Jenkins per aggiungere una chiave ssh. Io non riesco a do nella all'utente Jenkins: esisteNon posso su utente Jenkins dopo aver installato Jenkins

[[email protected] /]# sudo su jenkins 
[[email protected] /]# whoami 
root 
[[email protected] /]# echo $USER 
root 
[[email protected] /]# 

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

+0

esiste utente ... ma probabilmente non ha shell, vedi http://superuser.com/questions/566041/ can not-switch-to-jenkins-user-redhat-linux/566042 # 566042 – thekbb

+0

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

+6

'sudo usermod -s/bin/bash jenkins' – jgb

risposta

167

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

Inizialmente non ho risposto a questo dato che è un duplicate of a question that has been moved to server fault. Avrei dovuto rispondere piuttosto che legato alla risposta in un commento.

se per qualche motivo si desidera effettuare il login come Jenkins, è possibile farlo con: sudo su -s /bin/bash jenkins

+5

Grazie! Capisco che aggiungere una shell a Jenkins mi sembra una cattiva idea; Lo stavo facendo solo perché nel mio processo di compilazione c'erano comandi che non avevo problemi a girare dalla mia shell, ma la compilazione non funzionava perché non poteva eseguirli. Volevo entrare come jenkins e vedere se c'erano problemi di permessi. – sfendell

+3

Questo ha funzionato per me, ma ho dovuto sudo il comando. – mrg

+0

ha modificato la risposta per incorporare le informazioni esattamente corrette di @mrg sull'esigenza di 'sudo'. – thekbb

-9

come root, immettere SU - Jenkins

Inoltre, il check-in /etc/passwd che Jenkins utente è autorizzato ad accedere: ci dovrebbe essere qualcosa di simile /bin/bash o /bin/sh, certamente non /bin/false alla fine della riga.

Suggerimento: non si usa su e sudo allo stesso tempo.

+1

questo è esattamente il comando che l'OP ha provato ... sei corretto sul motivo per cui jenkins non può accedere - ma non sono d'accordo con la tua soluzione. – thekbb