Usando "su -" para alterar o usuário, dado "Nenhuma entrada de senha para o usuário"

16

Especificamente, estou tentando testar algo no meu servidor de construção alternando para o usuário "jenkins":

sudo su - jenkins
No passwd entry for user 'jenkins'
kevlarjacket
fonte
1
adduser jenkins
Ipor Sircer
@IporSircer Obrigado, sim, parece que não há usuário de jenkins.
Kevlarjacket #

Respostas:

10

A mensagem de erro é praticamente auto-explicativa. Diz que o usuário jenkinsnão tem entrada no /etc/passwdarquivo, ou seja, o usuário não existe no sistema.

Quando você executa operações relacionadas ao usuário que exijam nome de usuário, senha, diretório inicial, informações do shell, o /etc/passwdarquivo é consultado primeiro. Nenhuma entrada nesse arquivo leva ao mesmo erro que você está recebendo. Então você precisa criar o usuário primeiro ( useradd/ adduser). Como observação lateral, a menos que necessário, você deve criar qualquer usuário específico do serviço (não humano), por exemplo, jenkinscomo usuário do sistema.

heemail
fonte
11
Eu diria que não é auto-explicativo. O erro é sobre uma senha e o problema é a inexistência de um usuário. Se o erro foi o usuário não existe, isso seria auto-explicativo.
YannickSSE
1
@YannickSSE a mensagem de erro não é sobre senha, é sobre passwd, que é o banco de dados tradicional de contas de usuário em um sistema (residindo em /etc/passwd). Na maioria dos sistemas modernos, as senhas são armazenadas em outros lugares - geralmente em /etc/shadow.
Peterph
4

Após uma rápida pesquisa por "Listar todos os usuários no Linux", encontrei esta resposta e executei o seguinte comando:

cut -d: -f1 /etc/passwd

e, como sugeriu o @Ipor Sircer, esse usuário não existe e preciso adicioná-lo com:

adduser jenkins
kevlarjacket
fonte
O problema foi resolvido? Criar um jenkinsusuário sozinho é o mesmo que o criado pelo próprio Jenkins?
28518 Reiley