GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre /sbin/nologin et /bin/false ?

Techniquement, sauf si pam est configuré pour vérifier votre shell avec pam_shells aucun de ceux-ci ne peut réellement empêcher votre connexion, si vous n'êtes pas sur le shell. Sur mon système, ils sont même de tailles différentes, donc je soupçonne qu'ils font réellement quelque chose. Alors, quelle est la différence ? pourquoi existent-ils tous les deux ? Pourquoi utiliserais-je l'un plutôt que l'autre ?

-rwxr-xr-x 1 root root  21K Feb  4 17:01 /bin/false
-rwxr-xr-x 1 root root 4.7K Mar  2 14:59 /sbin/nologin

Réponse acceptée :

Quand /sbin/nologin est défini comme shell, si l'utilisateur avec ce shell se connecte, il recevra un message poli indiquant "Ce compte n'est actuellement pas disponible". Ce message peut être modifié avec le fichier /etc/nologin.txt .

/bin/false est juste un binaire qui se termine immédiatement, retournant false, quand il est appelé, donc quand quelqu'un qui a false lorsque le shell se connecte, ils sont immédiatement déconnectés lorsque false sorties. Définir le shell sur /bin/true a le même effet de ne pas autoriser quelqu'un à se connecter mais false est probablement utilisé comme convention sur true car c'est beaucoup mieux pour transmettre le concept que la personne n'a pas de coquille.

En regardant nologin la page de manuel de , il dit qu'il a été créé en 4.4 BSD (début des années 1990) donc il est venu bien après false a été créé. L'utilisation de false en tant que shell n'est probablement qu'une convention héritée des premiers jours d'UNIX.

nologin est l'option la plus conviviale, avec un message personnalisable donné à l'utilisateur essayant de se connecter, donc vous voudriez théoriquement l'utiliser ; mais les deux nologin et false aura le même résultat final si quelqu'un n'a pas de shell et ne peut pas se connecter en ssh.


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

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

  3. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

  4. Quelle est la signification de /usr/sbin, /usr/local/sbin et /usr/local/bin ?

  5. Différence entre /bin et /usr/bin

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

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 ?

Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

Quelle est la différence entre /tmp et /run ?