GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi /sbin/nologin a /bin/false?

Technicky, pokud není pam je nastaven tak, aby zkontroloval váš shell pomocí pam_shells ani jeden z nich nemůže zabránit vašemu přihlášení, pokud nejste v shellu. V mém systému jsou dokonce různé velikosti, takže mám podezření, že skutečně něco dělají. Jaký je tedy rozdíl? proč oba existují? Proč bych měl používat jedno přes druhé?

-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

Přijatá odpověď:

Když /sbin/nologin je nastaven jako shell, pokud se uživatel s tímto shellem přihlásí, dostane zdvořilou zprávu, že „Tento účet momentálně není dostupný.“ Tuto zprávu lze změnit pomocí souboru /etc/nologin.txt .

/bin/false je jen binární soubor, který se okamžitě ukončí a vrátí false, když je volán, takže když někdo, kdo má false když se shell přihlásí, jsou okamžitě odhlášeni, když false východy. Nastavení shellu na /bin/true má stejný účinek, že nedovolí někomu se přihlásit, ale false se pravděpodobně používá jako konvence nad true protože mnohem lépe vyjadřuje koncept, že člověk nemá skořápku.

Podívejte se na nologin manuálová stránka říká, že byla vytvořena v 4.4 BSD (začátek 90. ​​let), takže přišla dlouho po false byl vytvořen. Použití false jako shell je pravděpodobně jen konvence přenesená z počátků UNIXu.

nologin je uživatelsky přívětivější možnost s přizpůsobitelnou zprávou, která se dostane uživateli, který se pokouší přihlásit, takže byste ji teoreticky chtěli použít; ale oba nologin a false bude mít stejný konečný výsledek, že někdo nemá shell a není schopen vstoupit ssh.


Linux
  1. Kdy mám použít /dev/shm/ a kdy /tmp/?

  2. Jaké jsou významy /usr/sbin, /usr/local/sbin a /usr/local/bin?

  3. #!/bin/sh vs #!/bin/bash pro maximální přenositelnost

  1. Rozdíl mezi /bin/false &/sbin/nologin

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Rozdíl mezi /opt a /usr/local?

  1. Rozdíl mezi „$ . Foo“ A „$ ./foo“??

  2. Proč /bin/sh ukazuje na /bin/dash a ne /bin/bash?

  3. Jaký je rozdíl mezi /bin/false a /sbin/nologin jako uživatelský shell nologin