Algumas coisas podem ser verificadas. O arquivo /etc/passwd
para verificar se um shell foi definido, assim como verificar se os arquivos .profile
e .bashrc
do usuário root podem ter algo impedindo o login.
Editar
@Burgi. O arquivo /etc/passwd
teria o shell no qual o usuário faz login. Normalmente, você teria /bin/bash
ou algum outro shell relevante. Uma vez que o usuário logar aquele ambiente de shell no arquivo passwd associado a ele, ele será executado e a sessão do usuário será executada com esse shell. No entanto, se não houver shell válido, o usuário não poderá efetuar login, pois não há um ambiente de shell válido para efetuar login. Também há /sbin/nologin
, que "exibe uma mensagem informando que uma conta não está disponível e sai diferente de zero. Ela serve como um campo de shell de substituição para negar o acesso de login a uma conta." man nologin
para mais detalhes. Você também pode usar /bin/false
para obter um efeito semelhante. Verifique Chroot para SFTP.
Com os arquivos .profile
e .bashrc
, existem executáveis, portanto, se tivesse logout
, por exemplo, nesses arquivos, o usuário faria o logout. Como isso acontece no login, parece que o usuário não está efetuando login.
Espero que isso tenha sido útil.