1Jul

Pourquoi certains utilisateurs du système ont-ils /usr/bin/ faux comme Shell?

Une fois que vous commencez à creuser dans un système Linux, vous pouvez trouver des choses confuses ou inattendues, comme /usr/bin/ false, par exemple. Pourquoi est-il là et quel est son but? Le SuperUser Q & A A post d'aujourd'hui a la réponse aux questions d'un lecteur curieux.

Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

La question

SuperUser lecteur user7326333 veut savoir pourquoi certains utilisateurs du système ont /usr/bin/ faux comme leur shell:

Pourquoi certains utilisateurs du système ont /usr/bin/ faux que leur shell? Qu'est-ce que ça veut dire?

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

La Réponse

SuperUser contributeurs duDE, Toby Speight, et bbaassssiiee ont la réponse pour nous. Tout d'abord, duDE:

Cela permet d'empêcher les utilisateurs de se connecter à un système. Parfois, vous avez besoin d'un compte utilisateur pour une tâche spécifique. Néanmoins, personne ne devrait pouvoir interagir avec ce compte sur l'ordinateur. Ce sont, d'une part, les comptes d'utilisateurs du système. D'un autre côté, il s'agit d'un compte pour lequel un accès FTP ou POP3 est possible, mais pas de connexion shell directe.

Si vous regardez de plus près le fichier passwd /etc/, 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 se termine également avec un code d'état qui signale une erreur. Le résultat est simple. L'utilisateur se connecte et voit immédiatement l'invite de connexion.

Suivi de la réponse de Toby Speight:

Ces utilisateurs existent pour être le propriétaire de fichiers ou de processus spécifiques et ne sont pas destinés à être des comptes de connexion. Si la valeur du champ "shell" n'est pas répertoriée dans les shells /etc/, alors les programmes tels que les démons FTP n'autorisent pas l'accès. En outre, pour les programmes qui ne vérifient pas les shells /etc/, ils utilisent le fait que /bin/ false retourne immédiatement et refuse un shell interactif.

Et notre réponse finale de bbaassssiiee:

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

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.

Crédit image: OpenStack Docs( Projet OpenStack)