GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre /bin/false et /sbin/nologin en tant que shell de l'utilisateur nologin

Parfois, nous pouvons avoir besoin d'un compte d'utilisateur avec un mot de passe pour l'authentification avec un système, mais nous n'avons pas besoin d'un shell interactif avec ce nom d'utilisateur. Cela permet d'éviter que le compte d'utilisateur ne soit utilisé pour se connecter au système avec ce mot de passe. Dans ces scénarios, nous pouvons définir le shell de l'utilisateur sur /sbin/nologin ou /bin/false . Si l'utilisateur essaie de se connecter au système, le shell nologin ferme la connexion de l'utilisateur.

Un exemple d'une telle situation pourrait être un serveur de messagerie, où un compte d'utilisateur est nécessaire pour stocker le courrier et les mots de passe pour que l'utilisateur s'authentifie auprès du client de messagerie et récupère son courrier ; cependant, si le shell /sbin/nologin est attribué, l'utilisateur ne peut pas se connecter au système à l'aide de ce compte.

Étant donné que les deux commandes renvoient une valeur différente de zéro, il n'y a pas tellement de différence. À l'origine, /bin/false a été créé pour une commande générale car il renvoie toujours non nul. Ensuite, il semble qu'il soit utilisé comme shell de l'utilisateur nologin avant de créer /sbin/nologin.

D'autre part, /sbin/nologin a été créé pour le shell de l'utilisateur nologin, il a une fonctionnalité pour donner un message dans /etc/nologin.txt . L'utilisation de /sbin/nologin est recommandée pour le shell de l'utilisateur nologin, car il est inclus dans /etc/shells .

$ man -k nologin
nologin(5)               - disallow logins
nologin(8)               - politely refuse a login
pam_nologin(8)           - No Login PAM module
$ man -k false
...
false(1)                 - Return false value


Linux
  1. Différence entre /bin/false et /sbin/nologin

  2. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  3. Bash =~ Regex et Https://regex101.com/?

  4. Sur quels systèmes //foo/bar est-il différent de /foo/bar ?

  5. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

Quelle est la différence entre #!/usr/bin/env bash et #!/usr/bin/bash ?

Quand dois-je utiliser #!/bin/bash et quand #!/bin/sh ?

Différence entre /bin et /usr/bin

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

#!/bin/sh vs #!/bin/bash pour une portabilité maximale