Quando /sbin/nologin é definido como o shell, se o usuário com esse shell fizer login, receberá uma mensagem educada dizendo "Esta conta não está disponível no momento". Esta mensagem pode ser alterada com o arquivo /etc/nologin.txt .
/bin/false é apenas um binário que sai imediatamente, retornando false, quando é chamado, portanto, quando alguém que tem false quando o shell efetua login, ele é imediatamente desconectado quando false sai. Configurar o shell para /bin/true tem o mesmo efeito de não permitir que alguém faça login, mas false é provavelmente usado como uma convenção sobre true , já que é muito melhor em transmitir o conceito de que a pessoa não tem um shell. / p>
Olhando para a página man do nologin , ele diz que ele foi criado em 4.4 BSD (início dos anos 90), então veio muito depois que false foi criado. O uso de false como um shell é provavelmente apenas uma convenção transportada dos primórdios do UNIX.
nologin é a opção mais amigável, com uma mensagem personalizável dada ao usuário que está tentando se logar, então você teoricamente gostaria de usar isso; mas ambos os nologin e false terão o mesmo resultado final de alguém que não tem um shell e não pode ssh in.