Tudo está funcionando como esperado:
-
A fonte de / usr / sbin / nologin é muito pequena e fácil de verificar: / usr / sbin / nologin não espera nenhum parâmetro, não pode ser personalizado e não está relacionado a / etc / nologin.
-
/ etc / nologin está relacionado a / bin / login. Assim, no login, o conteúdo de / etc / nologin é exibido, mas ainda permite que o root faça o login. Assim, o usuário root pode saber por que ninguém pode fazer login (mais de uma pessoa pode ser root, então um colega de trabalho será informado de por que outro colega de trabalho o fez).
Para informações, o "usuário" principal de /etc/nologin
costumava ser o comando shutdown
quando não usado com o parâmetro "now" (por exemplo: shutdown -r 23:10 "reboot for maintenance"
) ele colocaria alguns minutos de antecedência no arquivo / etc / nologin arquivo para impedir que os usuários façam o login antes do desligamento iminente. Ele o coloca agora em / run / nologin (que também é verificado por / bin / login) para evitar problemas com um read-only / etc
Em seguida, o root ainda poderá efetuar login e executar shutdown -c
para abortá-lo, se necessário.
A única parte "enganadora" é a documentação que, embora não seja falsa, não indica que o nologin também será exibido para o root.
Então você terá que fazer um pequeno programa personalizado e colocá-lo como shell e melhor não usar um shell interpretado ou alguém encontrará uma maneira de contorná-lo (com .profile e similares)