Não é possível usar o su para o usuário jenkins após instalar o Jenkins


93

Instalei o Jenkins e estou tentando entrar em um shell como Jenkins para adicionar uma chave ssh. Não consigo entrar no usuário jenkins:

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

O usuário jenkins existe em meu arquivo / etc / passwd. Runnin su jenkinspede uma senha, mas rejeita minha senha normal. sudo su jenkinsnão parece fazer nada; mesmo para sudo su - jenkins. Estou no CentOS.


usuário existe ... mas provavelmente não tem shell, consulte superuser.com/questions/566041/…
thekbb

Você não precisa usar o sudo quando estiver como root. Embora não machuque.
thekbb

11
sudo usermod -s /bin/bash jenkins
jgb

1
não adicione um shell ao Jenkins - está faltando um por design. Geralmente, você não deseja que as contas de serviço possam fazer login interativamente.
thekbb

Respostas:


232

jenkins é uma conta de serviço, não tem um shell por design. É geralmente aceito que as contas de serviço não devam ser capazes de fazer login interativamente.

Não respondi a esta pergunta inicialmente porque é uma duplicata de uma pergunta que foi movida para falha do servidor . Eu deveria ter respondido em vez de vinculado à resposta em um comentário.

se por algum motivo você quiser fazer login como jenkins, poderá fazer isso com: sudo su -s /bin/bash jenkins


8
Obrigado! Eu entendo que adicionar um shell ao Jenkins parece uma má ideia; Eu estava fazendo isso porque havia comandos no meu processo de compilação que eu não tinha problemas para executar a partir do meu shell, mas a compilação estava falhando porque não conseguia executá-los. Eu queria entrar como Jenkins e ver se havia problemas de permissão.
sfendell

editou a resposta para incorporar as informações exatamente corretas de @mrg sobre a necessidade sudo.
thekbb

1
existe uma senha padrão que ele pede porque não me lembro de configurar uma senha na instalação.
Joe Lloyd

@mrg Que senha você usou?
Nabin

@JoeLloyd Você descobriu a senha padrão? Qual é a senha?
Nabin


-2

Se você estiver usando Jenkins dentro do docker. Então você deve tentar o seguinte.

  • Primeiro você precisa executar o jenkins container "docker start (container-name ou container-id)"

  • Em seguida, execute este comando "docker exec -it (container-name ou container-id) bash"

Agora, esperançosamente, você estará usando como um usuário jenkins.


-11

como root, digite su - jenkins

Além disso, verifique em / etc / passwd se o usuário jenkins tem permissão para fazer logon: deve haver algo como / bin / bash ou / bin / sh , certamente não / bin / false no final da linha.

Dica: você não usa su e sudo ao mesmo tempo.


1
esse é exatamente o comando que o OP tentou ... você está correto quanto ao motivo pelo qual jenkins não consegue efetuar login - mas eu discordo da sua solução.
thekbb
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.