Você tem alguns equívocos, tanto sobre como o sistema de login funciona e qual é o propósito dessas contas.
Primeiro, a maioria dessas contas, com exceção de root
e eric
, são contas do sistema que não são destinadas ao login, mas permitem que serviços diferentes sejam executados como usuários comuns sem todos os privilégios. root
conta tem. Por exemplo, o daemon do OpenSSH geralmente é executado como usuário sshd
, portanto, se alguém conseguir obter controle sobre o processo sshd
, ele somente poderá acessar e modificar os arquivos para os quais o usuário correspondente sshd
tem permissões.
Em segundo lugar, a maneira preferida de desabilitar o login de um usuário é desabilitar sua senha e não alterar o shell de login para /bin/false
. Nos sistemas Linux modernos, o banco de dados do usuário consiste, na verdade, em duas partes, /etc/passwd
e /etc/shadow
. A senha é armazenada em /etc/shadow
(veja abaixo o motivo) e uma conta é desativada se o campo de senha em /etc/shadow
for *
.
No exemplo a seguir, o usuário sshd
está desativado, enquanto sven
tem uma senha criptografada definida. Você não pode fazer o login como usuário sshd
, nem pelo console nem por uma sessão ssh, mas o login para sven
funcionará.
sshd:*:15533:0:99999:7:::
sven:$6$ckP43saI2$Xjoxh52LLJxz2VXa.:15538:0:99999:7:::
Provavelmente, você descobrirá que todos usuários em seu sistema, com exceção de eric
(e talvez root
) estão desativados dessa maneira, o que significa que você deseja realizar já foi feito pelos desenvolvedores. Além disso, você verá que muitas contas também têm seu shell de login definido como /bin/false
in /etc/passwd
, o que significa que mesmo o root não pode usar 'su' para alternar para essas contas.
Por que a separação de /etc/passwd
e /etc/shadow
?
Muitos programas precisam acessar o banco de dados do usuário para várias finalidades, mas conceder acesso de leitura a /etc/passwd
permitiu que todos lessem as senhas criptografadas de todos os usuários, o que é altamente inseguro, especialmente porque a criptografia das senhas era bastante fraca muito tempo. Isso foi resolvido colocando as senhas no arquivo separado /etc/shadow
, que só pode ser lido pelo root.