Bezpečnostní technologie ušly dlouhou cestu, ale úctyhodné heslo stále zůstává jedním z nejběžnějších nástrojů používaných k zabezpečení dat.
Příkaz passwd vám umožňuje změnit uživatelské heslo v Linuxu, ale umí mnohem víc. Uživatele můžete uzamknout (a odemknout). Uživatele můžete přimět změnit heslo při příštím přihlášení a další.
V tomto tutoriálu vám ukážu několik užitečných příkladů příkazu passwd, který můžete použít jako správce systému.
Praktické příklady příkazu passwd
Příkaz passwd funguje na souboru /etc/passwd. Změny, které jste provedli, se projeví zde.
Kde je v Linuxu uloženo heslo? Je uložen v zašifrované podobě v souboru /etc/shadow.
Podívejme se na několik příkladů příkazu passwd.
1. Změňte své vlastní heslo
Chcete-li změnit heslo aktuálního uživatele, tj. heslo svého vlastního účtu, stačí zadat příkaz passwd bez možnosti.
passwd
Nejprve budete požádáni, abyste použili své aktuální heslo:
[email protected]:~$ passwd
Changing password for christopher.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Pokud jako nové heslo zadáte své aktuální heslo, systém zobrazí chybovou zprávu, že heslo se nezměnilo, a znovu vás vyzve k zadání nového hesla.
2. Vytvořte heslo root
Mnoho distribucí Linuxu přichází bez nastaveného hesla root. Jediný způsob, jak získat přístup k účtu root, je pomocí příkazů sudo nebo su. Je to proto, že výchozí heslo jako „toor“ by způsobilo, že systém bude zranitelný vůči útočníkům.
Abyste mohli vytvořit heslo root, musíte být uživatelem sudo:
sudo passwd root
Zde je výstup:
[email protected]:~$ sudo passwd root
[sudo] password for christopher:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
To je jeden z mnoha důvodů, proč je důležité správně nakonfigurovat uživatelský přístup. Nechtěli byste, aby všichni uživatelé mohli změnit vaše rootovské heslo!
3. Změňte heslo jiného uživatele
Uživatelské heslo v Linuxu můžete změnit pomocí příkazu passwd jako root nebo pomocí sudo.
sudo passwd user_name
Samozřejmě nebudete požádáni o staré heslo. Koneckonců resetujete heslo a jako správce byste to měli být schopni.
[email protected]:/home/christopher# passwd christopher
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
4. Zkontrolujte stav hesla
Stav hesla uživatele můžete zkontrolovat takto:
sudo passwd -S user_name
Zde je příklad:
[email protected]:~$ passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
Pojďme se na tyto informace podívat. Uspořádám to do tabulky, aby se to lépe četlo. Poté proberu, co určité hodnoty znamenají.
Uživatelské jméno | Stav | Datum poslední změny | Minimální věk | Maximální věk | Výstražná lhůta | Doba nečinnosti |
---|---|---|---|---|---|---|
christopher | P | 13. 6. 2020 | 0 | 99999 | 7 | -1 |
Podívejme se nejprve na sloupec stavu. Zde jsou možné možnosti pro toto pole.
Stav | Popis |
---|---|
P | Použitelné heslo |
NP | Žádné heslo |
L | Zamčené heslo |
Pro nastavení parametrů pravidel pro hesla jsou vyhrazena některá speciální čísla.
Zvláštní čísla pro věk | Popis |
---|---|
9999 | Platnost nikdy nevyprší |
0 | Lze kdykoli změnit |
-1 | Neaktivní |
Zde vidíte, že doba varování je nastavena na 7 dní, ale protože doba nečinnosti je zakázána a věk je nastaven tak, aby nikdy nevypršel, žádné varování se neobjeví.
5. Zkontrolujte stav hesla pro všechny účty
Můžete také zkontrolovat stav hesla všech uživatelských účtů ve vašem systému:
sudo passwd -Sa
6. Vynutit uživateli změnu hesla při příštím přihlášení
K okamžitému vypršení platnosti uživatelského hesla můžete použít volbu -e. To donutí uživatele změnit heslo při příštím přihlášení.
sudo passwd -e user_name
Vynucené vypršení platnosti vypadá takto:
[email protected]:/home/christopher# passwd -e christopher
passwd: password expiry information changed.
Nyní můžete zkontrolovat stav a zaznamenat změny:
[email protected]:/home/christopher# passwd -S christopher
christopher P 01/01/1970 0 99999 7 -1
Jak můžete vidět, datum nastavení hesla bylo změněno na 01/01/1970. Toto datum je historicky spojeno se systémy Unix jako „epochální“ datum. To v podstatě znamená, že toto datum je den „0“ (na 32bitovém měřítku) v historii Unixu.
Úspěšně jste vypršeli platnost hesla. Až se můj účet příště přihlásí, bude nucen změnit heslo.
7. Uzamknout nebo odemknout uživatelské účty
Volba -l příkazu passwd umožňuje zamknout uživatelský účet v Linuxu:
sudo passwd -l user_name
Jakmile jej použijete na uživatelském účtu, heslo již nebude fungovat pro udělení přístupu.
[email protected]:/home/christopher# passwd -l christopher
passwd: password expiry information changed.
Stav uživatelského hesla můžete potvrdit volbou -S, jak bylo uvedeno výše. L zde znamená zámek ve výstupu.
[email protected]:/home/christopher# passwd -S christopher
christopher L 06/13/2020 0 99999 7 -1
Stejně snadné je i odblokování uživatelského účtu. Pro odemknutí uživatele použijte volbu -u:
[email protected]:/home/christopher# passwd -u christopher
passwd: password expiry information changed.
Stav můžete potvrdit. P ve výstupu znamená použitelné heslo, tj. heslo lze použít s účtem.
[email protected]:/home/christopher# passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
8. Smažte heslo z účtu a udělejte jej bez hesla
Nevidím pro to žádný praktický případ použití, ale můžete smazat heslo pro určitý účet. Tímto způsobem tento účet nebude potřebovat heslo pro přístup do systému. To není dobré pro zabezpečení.
sudo passwd -d user_name
Závěr
Můžete také použít volbu -n k přinucení uživatele ke změně hesla za N počet dní. Ale dělat to ručně je ztráta času. Místo toho byste měli správně nakonfigurovat zásady hesla vašeho systému tak, aby byly použitelné pro všechny uživatelské účty.
Všechny dostupné možnosti můžete vždy zobrazit pomocí volby -h.
Doufám, že vám tento návod pomohl začít s příkazem passwd v Linuxu.
Jako vždy rádi slyšíme od našich čtenářů obsah, který je zajímá. Zanechte komentář níže a podělte se s námi o své myšlenky!