V systémech Linux lze použít několik různých schémat ověřování. Nejčastěji používané a standardní schéma je provádět autentizaci proti /etc/passwd
a /etc/shadow
soubory.
/etc/shadow
je textový soubor, který obsahuje informace o heslech uživatelů systému. Vlastní ho uživatel root a skupinový stín a má 640 oprávnění.
/etc/shadow
Formát #
Soubor /etc/shadow
soubor obsahuje jednu položku na řádek, z nichž každá představuje uživatelský účet. Obsah souboru můžete zobrazit pomocí textového editoru nebo příkazu jako cat
:
sudo cat /etc/shadow
První řádek obvykle popisuje uživatele root, za nímž následuje systémový a normální uživatelský účet. Nové položky jsou připojeny na konec souboru.
Každý řádek souboru /etc/shadow
soubor obsahuje devět polí oddělených čárkami:
mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
| | | | | |||+-----------> 9. Unused
| | | | | ||+------------> 8. Expiration date
| | | | | |+-------------> 7. Inactivity period
| | | | | +--------------> 6. Warning period
| | | | +------------------> 5. Maximum password age
| | | +----------------------> 4. Minimum password age
| | +--------------------------> 3. Last password change
| +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username
-
uživatelské jméno. Řetězec, který zadáte při přihlášení do systému. Uživatelský účet, který existuje v systému.
-
Šifrované heslo. Heslo používá
$type$salt$hashed
formát.$type
je metoda kryptografický hash algoritmus a může mít následující hodnoty:$1$
– MD5$2a$
– Blowfish$2y$
– Eksblowfish$5$
– SHA-256$6$
– SHA-512
Pokud pole pro heslo obsahuje hvězdičku (
*
) nebo vykřičník (!
), uživatel se nebude moci přihlásit do systému pomocí ověřování heslem. Ostatní metody přihlášení, jako je autentizace na základě klíče nebo přepnutí na uživatele, jsou stále povoleny.Ve starších systémech Linux bylo zašifrované heslo uživatele uloženo v
/etc/passwd
soubor. -
Poslední změna hesla. Toto je datum, kdy bylo heslo naposledy změněno. Počet dní se počítá od 1. ledna 1970 (datum epochy).
-
Minimální stáří hesla. Počet dní, které musí uplynout, než bude možné změnit uživatelské heslo. Obvykle je nastaveno na nulu, což znamená, že neexistuje žádné minimální stáří hesla.
-
Maximální stáří hesla. Počet dní po změně hesla uživatele. Ve výchozím nastavení je toto číslo nastaveno na
99999
. -
Výstražné období. Počet dní před vypršením platnosti hesla, během kterých je uživatel varován, že je třeba heslo změnit.
-
Období nečinnosti. Počet dní po vypršení platnosti uživatelského hesla před deaktivací uživatelského účtu. Toto pole je obvykle prázdné.
-
Datum spotřeby. Datum, kdy byl účet deaktivován. Je reprezentováno jako datum epochy.
-
Nepoužitý. Toto pole je ignorováno. Je vyhrazeno pro budoucí použití.
Soubor /etc/shadow
soubor by neměl být upravován ručně, pokud nevíte, co děláte. Vždy používejte příkaz, který je pro tento účel navržen. Chcete-li například změnit uživatelské heslo, použijte passwd
a ke změně informací o stárnutí hesla použijte chage
příkaz.
Příklad záznamu #
Podívejme se na následující příklad:
linuxize:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::
Výše uvedený záznam obsahuje informace o uživatelském heslu „linuxize“:
- Heslo je šifrováno pomocí SHA-512 (heslo je kvůli lepší čitelnosti zkráceno).
- Heslo bylo naposledy změněno 23. dubna 2019 –
18009
. - Neexistuje minimální věk hesla.
- Heslo je nutné změnit alespoň každých 120 dní.
- Uživatel obdrží varovnou zprávu sedm dní před datem vypršení platnosti hesla.
- Pokud se uživatel nepokusí přihlásit do systému 14 dní po vypršení platnosti hesla, účet bude deaktivován.
- Neexistuje žádné datum vypršení platnosti účtu.
Závěr č.
Soubor /etc/shadow
soubor uchovává záznamy o zašifrovaných heslech uživatelů a také další informace související s hesly.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.