web-dev-qa-db-fra.com

Pourquoi certains utilisateurs du système ont/usr/bin/false comme shell?

Pourquoi certains utilisateurs du système ont/usr/bin/false comme shell et qu'est-ce que cela signifie?

62
user7326333

Cela aide à empêcher les utilisateurs de se connecter au système.

Parfois, vous avez besoin d'un compte utilisateur pour une tâche spécifique. Néanmoins, personne ne devrait être en mesure d'interagir avec ce compte sur l'ordinateur. Il s’agit, d’une part, des comptes d’utilisateur système, d’autre part, il s’agit d’un compte pour lequel un accès FTP ou POP3 est possible, mais pas d’authentification Shell directe.

Si vous examinez de plus près le fichier /etc/passwd, vous trouverez la commande /bin/false en tant que shell de connexion pour de nombreux comptes système. En fait, false n'est pas un shell, mais une commande qui ne fait rien et qui se termine également par un code d'état signalant une erreur . Le résultat est simple. L'utilisateur se connecte et voit immédiatement l'invite de connexion.

72
duDE

Ces utilisateurs sont propriétaires de fichiers ou de processus spécifiques et ne sont pas destinés à être des comptes de connexion.

Si la valeur du champ "Shell" ne figure pas dans /etc/shells, des programmes tels que les démons FTP n'autorisent pas l'accès.

De plus, pour les programmes qui ne vérifient pas /etc/shells, nous utilisons le fait que /bin/false sera immédiatement renvoyé, ce qui refuse un shell interactif.

16
Toby Speight

Certains utilisateurs ont/usr/bin/false, d'autres ont/sbin/nologin ou même/usr/bin/passwd. Ils peuvent être des utilisateurs du système nécessaires pour isoler les autorisations de programme ou des utilisateurs de programmes utilisant les fichiers de mots de passe pour l'authentification.

7
bbaassssiiee