Úvod
Linuxový příkaz passwd změní heslo uživatele. Uživatel může změnit pouze své vlastní heslo, ale root/superuser může změnit heslo kteréhokoli uživatele.
Podívejme se na manuálovou stránku Linuxu, abychom pochopili použití tohoto příkazu. To provedete zadáním následujícího příkazu:
$ man passwd
Hesla v Linuxu
Tradiční metoda ukládání hesel v systému založeném na UNIXu zahrnovala ukládání informací do /etc/passwd soubor.
K tomuto souboru však přistupovalo mnoho programů, a proto představoval bezpečnostní riziko.
V současné době /etc/passwd
soubor obsahuje pouze základní informace o uživateli požadované při přihlášení a ověření.
Skutečná zašifrovaná verze hesla je uložena v samostatném souboru – /etc/shadow
. K tomuto souboru má přístup pouze uživatel root.
soubor vypadá následovně:/etc/passwd
obsah souboru passwd
Každý řádek souboru obsahuje obecné uživatelské informace o určitém programu nebo uživateli. Pole jsou oddělena
:
.
Tato pole jsou následující:- Uživatelské jméno (až 8 znaků)
- x označuje heslo, které je uloženo v
/etc/shadow
soubor v zašifrovaném formátu. - Číselné ID uživatele.
- Číselné ID skupiny.
- Celé uživatelské jméno.
- Cesta k domovskému adresáři.
- Cesta preferovaného prostředí. (
"/bin/bash"
)
/etc/shadow
soubor vypadá následovně (vyžaduje přístup root):obsah stínového souboru
Tento soubor obsahuje informace o účtu a hesle. Pole jsou oddělena
:
.Pole odpovídající informace o uživatelském účtu jsou následující:
- Uživatelské jméno (až 8 znaků)
- Druhé pole obsahuje zašifrované heslo a je rozděleno do podpolí (oddělených
$
znak). První dílčí pole označuje použitý šifrovací algoritmus:$1$ - MD5 $2a$ - Blowfish $2y$ - Blowfish(v2) $5$ - SHA-256 $6$ - SHA-512
Druhé podpole obsahuje hodnotu soli použitou během procesu šifrování. Třetí podpole obsahuje zašifrované heslo.
- Počet dní od změny hesla.
- Počet dní před změnou hesla (0 znamená, že heslo lze změnit kdykoli).
- Počet dní, po kterých musí být heslo změněno.
- Počet dní před vypršením platnosti hesla, na které musí být uživatel upozorněn.
- Počet dní, po kterých je účet deaktivován po vypršení platnosti hesla.
- Dny od 1. ledna 1970, kdy byl účet neaktivní nebo deaktivovaný.
- Rezervujte pole pro další informace.
Linux heslo Syntaxe příkazu
$ passwd [options]... [LOGIN]...
1. Změna hesla aktuálního uživatele
Zadáním příkazu Passwd
Zadáním passwd se uživatel vyzve k zadání aktuálního hesla. Uživatel má pouze jednu šanci zadat správné heslo. Pokud je zadané heslo nesprávné nebo jej nelze v daném okamžiku změnit, zobrazí terminál chybu a ukončí se.
Passwd Authentication Error
Jakmile je heslo zadáno, je zašifrováno a porovnáno s uloženým zašifrovaným heslem. Uživatel je poté dvakrát vyzván k zadání nového hesla. Obě hesla musí být dostatečně složitá a musí se navzájem shodovat, aby mohla být přijata jako platná.
Zadání nového hesla
Pokud se nové heslo podobá starému, zobrazí se chyba.
Jakmile je splněno každé kritérium, heslo pro aktuálního uživatele je úspěšně změněno.
Nové nastavení hesla
2. Změna hesla jiného uživatele
Následující příkaz se používá ke změně hesla jiného uživatele:
$ sudo passwd adam
Protože ke změně hesel ostatních uživatelů je vyžadován přístup root, terminál vyzve uživatele k zadání hesla. Postup změny hesla pro ostatní uživatele je stejný jako u aktuálního uživatele.
Možnosti příkazu Linux passwd
- -d nebo –smazat možnost smaže heslo uživatele. Nastaví uživatelský účet bez hesla.
- -e nebo –vyprší možnost okamžitě vyprší platnost hesla uživatele. To je může donutit ke změně hesla.
- -h nebo –pomoc zobrazí nápovědu a ukončí se.
- -l nebo –uzamknout volba uzamkne heslo pojmenovaného účtu přidáním znaku „!“ na začátek hesla. Tím se zabrání tomu, aby byl šifrovaný hash úspěšně spárován s uloženým hashem. Uživatelé se zamčenými hesly nemohou svá hesla změnit.
- -i [INACTIVE_DAYS] nebo –neaktivní [INACTIVE_DAYS] možnost deaktivuje účet poté, co platnost hesla vyprší na několik dní.
- -n [MIN_DAYS] nebo –mindays [MIN_DAYS] volba nastavuje minimální počet dní mezi změnami hesla. Hodnota
0
navrhuje, že heslo lze kdykoli změnit. - -r [ÚLOŽIŠTĚ] nebo –úložiště [REPOSITORY] volba nastavuje heslo pro konkrétní úložiště.
- -S nebo – stav zobrazí informace o stavu účtu.
- -a nebo –vše zobrazí stav pro všechny uživatele. Lze jej použít pouze s -S .
- -u nebo –odemknout options odemkne zamčené heslo a nastaví na jeho předchozí hodnotu.
- -w [WARN_DAYS] nebo –warndays [WARN_DAYS] volba nastavuje počet dní, po které se zobrazí varování, než je nutné heslo změnit.
- -x nebo –maxdays [MAX_DAYS] nastavuje maximální počet dní, po které zůstane heslo platné. Poté je třeba změnit heslo.
Passwd Inactive Option
Příklad možnosti Passwd Mindays
příklad možnosti stavu passwd
Výstup je rozdělen do různých polí, jak je uvedeno výše. První pole zobrazuje jméno aktuálního uživatele.
Druhé pole ukazuje, zda má uživatel použitelné heslo (P ), zamčené heslo (L ) nebo žádné heslo (NP ).
Třetí pole zobrazuje poslední datum změny hesla. Následujících několik polí zobrazuje minimální věk, maximální věk, dobu varování a dobu nečinnosti hesla.
Příklad možností passwd warningdays
Příklad možnosti passwd maxdays
Závěr
Linuxový příkaz passwd je základní, ale důležitý příkaz. Může být použit ke zpracování základních uživatelských informací a autentizace po přihlášení do systému a provádění různých úkolů v terminálu, jako je instalace balíčků a přístup k určitým adresářům.