Changer le shell de connexion n'empêche pas nécessairement les utilisateurs de s'authentifier (sauf dans certains services qui vérifient si le shell de l'utilisateur est mentionné dans /etc/shells).
Les utilisateurs peuvent toujours être en mesure de s’authentifier auprès des divers services fournis par votre système aux utilisateurs d’Unix et peuvent toujours être autorisés à effectuer certaines actions, sans toutefois exécuter directement des commandes arbitraires.
Changer le shell pour /bin/falseou /usr/sbin/nologinseulement l'empêcher d'exécuter des commandes sur les services qui peuvent être utilisés pour exécuter des commandes (connexion à la console, ssh, telnet, rlogin, rexec, etc.) n'affectent l' autorisation que pour certains services.
Par sshexemple, cela leur permet toujours d'effectuer un transfert de port.
passwd -ldésactive l'authentification par mot de passe, mais l'utilisateur peut toujours être autorisé à utiliser d'autres méthodes d'authentification (comme authorized_keysavec ssh).
Sous pamLinux au moins, vous pouvez utiliser le pam_shellsmodule pour restreindre l'authentification ou l'autorisation aux utilisateurs disposant d'un shell autorisé (ceux mentionnés dans /etc/shells). En effet ssh, vous voudrez le faire au niveau autorisation ( account) comme pour l’ sshdutilisation de l’ authentification pam en plus d’autres méthodes d’authentification (comme authorized_keys), ou vous pouvez le faire avec des sshd_configdirectives dans /etc/ssh/sshd_config(comme AllowUserset amis).
Attention, l'ajout de certaines restrictions à l'autorisation globale de pam peut potentiellement empêcher l'exécution de crontâches en tant qu'utilisateurs.
/bin/falsesemble plus commun que/bin/true.