linux - permitindo que o usuário do sistema faça o login?

3

Este usuário foi criado usando este comando:

sudo adduser --system --home=/opt/user --group user

Mas agora quero que esse usuário possa fazer login. Eu posso me tornar esse usuário usando sudo , mas também gostaria de logar diretamente usando a senha. Eu tentei usar este comando:

sudo passwd user

Isso me permite adicionar senha para o usuário. Quando tento logar, ele loga, mas sai instantaneamente.

    
por Andrius 10.06.2015 / 15:51

3 respostas

3

Você não pode efetuar login como user porque é uma conta do sistema, que é especificada pela opção --system . As contas do sistema são para daemons ou serviços, não para usuários humanos e, portanto, recebem /bin/false para o shell de login. Se você inserir grep '^user' /etc/passwd , receberá algo assim:

user:x:117:123::/opt/user:/bin/false

Para permitir que user efetue login, você pode usar usermod para alterar seu shell de login para bash:

usermod -s /bin/bash user

Como alternativa, você também pode editar /etc/passwd manualmente. Talvez você também queira fazer outras alterações no UID, GID e no diretório de diretório pessoal de user .

    
por 10.06.2015 / 17:53
0

parece que o usuário está bloqueado, tente

usermod -U user

veja também /etc/shadow , a linha com o usuário deve começar assim

 user:$6$SALT...

Se a linha for

 user:!!:..
 user:*:...

a conta está bloqueada.

    
por 10.06.2015 / 15:57
0

Pode ser que o usuário tenha sido criado sem o sinalizador -m.

-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow, and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

Note that useradd will not create a home directory for such an user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.


-m, --create-home
Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory.
useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no.

Editar: veja também esta resposta para outro pergunta.

    
por 10.06.2015 / 16:00