GNU/Linux >> Znalost Linux >  >> Linux

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

Občas můžeme potřebovat uživatelský účet s heslem pro autentizaci se systémem, ale nepotřebujeme interaktivní shell s tímto uživatelským jménem. To pomáhá zabránit použití uživatelského účtu pro přihlášení do systému pomocí tohoto hesla. V těchto scénářích můžeme nastavit uživatelské prostředí na /sbin/nologin nebo /bin/false . Pokud se uživatel pokusí přihlásit do systému, nologin shell uzavře připojení uživatele.

Příkladem takové situace může být poštovní server, kde je potřeba uživatelský účet pro ukládání pošty a hesel, aby se uživatel mohl autentizovat u poštovního klienta a načítat si poštu; pokud je však přiřazen shell /sbin/nologin, pak se uživatel nemůže přihlásit do systému pomocí tohoto účtu.

Vzhledem k tomu, že oba příkazy vracejí nenulovou hodnotu, není v tom až tak velký rozdíl. Původně byl /bin/false vytvořen pro obecný příkaz, protože vždy vrací nenulovou hodnotu. Pak se zdá, že se používá jako uživatelský shell nologin před vytvořením /sbin/nologin.

Na druhou stranu, /sbin/nologin byl vytvořen pro nologin uživatelský shell, má funkci pro odeslání zprávy v /etc/nologin.txt . Použití /sbin/nologin se doporučuje pro uživatelský shell nologin, protože je zahrnuto v /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. Rozdíl mezi /bin/false &/sbin/nologin

  2. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  3. Na jakých systémech se //foo/bar liší od /foo/bar?

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

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

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

  1. Kdy musím použít #!/bin/bash a kdy #!/bin/sh?

  2. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  3. Přesunutý obsah /bin do /usr/bin, je možné vrátit zpět?