Pourquoi certains utilisateurs du système ont-ils / usr / bin / false comme shell?
Une fois que vous avez commencé à creuser dans un système Linux, vous rencontrerez peut-être des choses confuses ou inattendues, comme / usr / bin / false par exemple. Pourquoi est-il là et quel est son but? Le message de questions et réponses de SuperUser d'aujourd'hui répond aux questions d'un lecteur curieux.
La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..
La question
Le lecteur superutilisateur User7326333 veut savoir pourquoi certains utilisateurs du système ont / usr / bin / false comme shell:
Pourquoi certains utilisateurs du système ont / usr / bin / false comme shell? Qu'est-ce que ça veut dire?
Pourquoi certains utilisateurs du système ont / usr / bin / false comme shell?
La réponse
Les contributeurs de SuperUser duDE, Toby Speight et bbaassssiiee ont la solution pour nous. D'abord, mec:
Cela aide à empêcher les utilisateurs de se connecter à un système. Parfois, vous avez besoin d'un compte d'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, de 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 de connexion 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 réalité, 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.
Suivi de la réponse de Toby Speight:
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 le répertoire / etc / shells, des programmes tels que les démons FTP ne permettent pas l'accès. De plus, pour les programmes qui ne vérifient pas / etc / shells, ils utilisent le fait que / bin / false retournera immédiatement et refusera un shell interactif..
Et notre réponse finale de bbaassssiiee:
Certains utilisateurs ont / usr / bin / false, d'autres ont / sbin / nologin ou même / usr / bin / passwd. Ils peuvent être soit des utilisateurs système nécessaires pour isoler les autorisations de programme, soit des utilisateurs humains de programmes utilisant les fichiers de mots de passe pour l'authentification..
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.
Crédit d'image: OpenStack Docs (OpenStack Project)