Se você der uma olhada na página nologin man, verá a seguinte descrição.
trecho
nologin displays a message that an account is not available and exits non-zero. It is intended as a replacement shell field to deny login access to an account.
If the file
/etc/nologin.txtexists,nologindisplays its contents to the user instead of the default message.The exit code returned by
nologinis always 1.
Assim, a intenção real de nologin é apenas quando um usuário tenta fazer login com uma conta que faz uso dele no /etc/passwd , para que seja apresentada a uma mensagem amigável e que qualquer scripts / comandos que tentam fazer uso deste login recebem o código de saída de 1.
Segurança
Com relação à segurança, você normalmente verá /sbin/nologin ou às vezes /bin/false , entre outras coisas nesse campo. Ambos servem o mesmo propósito, mas /sbin/nologin é provavelmente o método preferido. Em qualquer caso, eles estão limitando o acesso direto a um shell como essa conta de usuário específica.
Por que isso é considerado valioso em relação à segurança?
O "porquê" é difícil de descrever completamente, mas o valor de limitar a conta de um usuário dessa maneira é que ele impede o acesso direto por meio do aplicativo login quando você tenta obter acesso usando a conta de usuário mencionada.
Usar nologin ou /bin/false faz isso. Limitar a superfície de ataque do seu sistema é uma técnica comum no mundo da segurança, seja desativando serviços em portas específicas ou limitando a natureza dos logins em seus sistemas.
Ainda existem outras racionalizações para usar nologin . Por exemplo, scp não funcionará mais com uma conta de usuário que não designa um shell real, conforme descrito neste ServerFault Q & A intitulado: Qual é a diferença entre / sbin / nologin e / bin / false? .