GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen /sbin/nologin und /bin/false?

Technisch gesehen, es sei denn pam ist eingerichtet, Ihre Shell mit pam_shells zu überprüfen Keines davon kann Ihre Anmeldung tatsächlich verhindern, wenn Sie sich nicht in der Shell befinden. Auf meinem System sind sie sogar unterschiedlich groß, also vermute ich, dass sie tatsächlich etwas bewirken. Was ist also der Unterschied? warum gibt es sie beide? Warum sollte ich einen über dem anderen verwenden?

-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

Akzeptierte Antwort:

Wenn /sbin/nologin als Shell festgelegt ist, erhalten Benutzer, wenn sie sich mit dieser Shell anmelden, eine höfliche Nachricht mit der Aufschrift „Dieses Konto ist derzeit nicht verfügbar.“ Diese Nachricht kann mit der Datei /etc/nologin.txt .

/bin/false ist nur eine Binärdatei, die sofort beendet wird und falsch zurückgibt, wenn sie aufgerufen wird, also wenn jemand false hat Wenn sich die Shell anmeldet, werden sie sofort abgemeldet, wenn false Ausgänge. Setzen der Shell auf /bin/true hat den gleichen Effekt, dass jemandem nicht erlaubt wird sich anzumelden, aber false wird wahrscheinlich als Konvention für true verwendet da es viel besser vermittelt, dass die Person keine Hülle hat.

Betrachten wir nologin In der Manpage heißt es, dass es in 4.4 BSD (frühe 1990er) erstellt wurde, also kam es lange nach false wurde erstellt. Die Verwendung von false als Shell ist wahrscheinlich nur eine Konvention, die aus den frühen Tagen von UNIX übernommen wurde.

Anmeldung ist die benutzerfreundlichere Option, mit einer anpassbaren Nachricht, die dem Benutzer angezeigt wird, der versucht, sich anzumelden, also würden Sie das theoretisch verwenden wollen; aber beide nologin und false wird das gleiche Endergebnis haben, wenn jemand keine Shell hat und sich nicht per SSH einloggen kann.


Linux
  1. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  2. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

  3. Unterschied zwischen /bin und /usr/bin

  4. Was ist der Unterschied zwischen /tmp und /run?

  5. #!/bin/sh vs. #!/bin/bash für maximale Portabilität

Unterschied zwischen /bin/false &/sbin/nologin

Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

Der Unterschied zwischen /opt und /usr/local?

Der Unterschied zwischen „$ . Foo‘ und ‚$ ./foo‘??

Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen