/ sbin / nologin e / bin / false são ignorados em / etc / passwd como um shell de usuário

1

Eu tenho uma entrada a seguir em /etc/passwd file:

test:x:1002:1000::/home/test:/bin/bash

Quando eu altero para test:x:1002:1000::/home/test:/bin/false ou test:x:1002:1000::/home/test:/sbin/nologin , ainda posso fazer login nesta máquina usando SSH usando test como nome de usuário. Por que isso é assim?

    
por Martin 21.11.2016 / 15:08

3 respostas

2

nscd armazena as informações do passwd e do grupo. Experimente nscd -i passwd e nscd -i group depois de modificar diretamente esses arquivos.

    
por 21.11.2016 / 15:28
1

O uso do arquivo /bin/false in /etc/passwd deve desativar o acesso ao shell do usuário. Se você tentar se conectar através do ssh, ele solicitará a senha, mas, embora você a insira, ela fechará a conexão.

Se você não quiser permitir que o usuário efetue login por qualquer outra forma, use passwd <username> -l para bloquear o login da conta.

    
por 21.11.2016 / 21:59
0

Do jeito que você formulou a pergunta, parece que você está modificando o arquivo passwd manualmente.

Você já tentou usar usermod ? Observando a página man , você pode usar usermod -L <account> se quiser desabilitar logins usando a conta. Se você quiser alterar o uso da shell usermod -s <shell> <account> .

Modificar o arquivo passwd manualmente é normalmente desaprovado, pois você pode acabar criando mais problemas para si mesmo.

    
por 21.11.2016 / 15:20