Tenha em atenção que a definição da shell de início de sessão de um utilizador para /bin/false
(ou /bin/true
ou /sbin/nologin
que tem o menor benefício de exibir uma mensagem personalizada ) quebras su
para esse usuário. Alguns scripts do sistema podem estar usando su
.
Definindo um usuário shell para um programa que não faz nada é um benefício de segurança , mas somente se o usuário puder efetuar login devido a um erro de configuração. Um usuário do sistema deve não ter como autenticar, em cujo caso a configuração do shell não importa. Então é uma boa ideia, mas somente se não quebrar nada.
Você pode desativar o acesso SSH para alguns usuários de outra maneira: adicionando uma diretiva DenyUsers
em /etc/sshd_config
. Isso impedirá que esses usuários façam login através do SSH, mas não impedirá o login através de outro serviço se o serviço esse estiver configurado incorretamente.
Outra maneira de bloquear o login em uma conta é através do PAM . A vantagem desse método é que você pode ter configurações diferentes para cada serviço, por exemplo, permita su
(que funcionará somente para o root se a conta não tiver senha) e desabilite qualquer outra coisa. Você pode usar o % módulopam_access
para negar a certos usuários.