Jak změnit hesla účtu v systému Linux

Hesla představují základní prvek zabezpečení uživatelských účtů již celých šest desetiletí, dokonce jsou o deset let starší než samotný systém Unix. Naučte se, jak spravovat hesla v Linuxu pomocí příkazového řádku nebo grafického prostředí GNOME.

Jak vytvořit silné a bezpečné heslo

Nutnost používat hesla k ochraně dat vznikla s nástupem víceuživatelských systémů s časovým sdílením. Hesla se ukázala jako klíčový nástroj pro oddělení a ochranu dat jednotlivých uživatelů.

I přes existenci moderních metod autentizace, jako je dvoufaktorové a vícefaktorové ověřování nebo biometrické ověřování, klasická hesla zůstávají nejrozšířenější formou ověřování. Proto je důležité vědět, jak hesla správně vytvářet a používat, přičemž některé staré postupy již nejsou relevantní.

Zde je několik základních pravidel pro tvorbu hesel:

  • Nepoužívejte hesla, ale přístupové fráze: Místo hesel zvolte přístupové fráze. Skládají se ze tří nebo čtyř nesouvisejících slov spojených interpunkčními znaménky, symboly nebo číslicemi, což výrazně ztěžuje jejich prolomení v porovnání s běžnými hesly, jako jsou například hesla s nahrazenými samohláskami číslicemi.
  • Hesla nepoužívejte opakovaně: Nepoužívejte stejná hesla v různých systémech.
  • Hesla nesdílejte: Hesla jsou soukromá a neměly by být sdíleny s ostatními.
  • Nevytvářejte hesla z osobních údajů: Nepoužívejte jména rodinných příslušníků, názvy sportovních týmů, oblíbených kapel nebo jakékoli další informace, které lze snadno odvodit z vašich sociálních sítí nebo veřejně dostupných údajů.
  • Nepoužívejte hesla založená na vzorech: Vyhýbejte se heslům odvozeným od vzorů na klávesnici, jako je „qwerty“ nebo „1q2w3e“.

Zásada pravidelné expirace hesel již není považována za efektivní metodu. Pokud si zvolíte silné přístupové fráze, měňte je pouze v případě podezření na kompromitaci. Pravidelné změny hesel často vedou k špatnému výběru hesel, protože uživatelé mají tendenci přidávat datum nebo číslici na konec základního hesla.

The Národní institut pro standardy a technologie (NIST) se detailně zabývá problematikou hesel a autentizace uživatelů. Jejich doporučení jsou veřejně dostupná v dokumentu Speciální publikace 800-63-3: Pokyny pro digitální autentizaci.

Soubor passwd

V minulosti systémy podobné Unixu ukládaly hesla spolu s dalšími údaji o účtech do souboru „/etc/passwd“. Dnes soubor „/etc/passwd“ stále obsahuje informace o účtech, ale šifrovaná hesla jsou uložena v souboru „/etc/shadow“, který je přístupný pouze oprávněným uživatelům. Soubor „/etc/passwd“ je naopak přístupný všem.

Pro zobrazení obsahu souboru „/etc/passwd“ použijte následující příkaz:

less /etc/passwd

Po zadání příkazu se zobrazí obsah souboru. Nyní se podíváme na podrobnosti o účtu s uživatelským jménem „Mary“.

Každý řádek v souboru reprezentuje jeden uživatelský účet nebo program s uživatelským účtem. Jednotlivé záznamy jsou rozděleny pomocí dvojteček a obsahují následujících sedm polí:

Uživatelské jméno: Přihlašovací jméno účtu.
Heslo: „x“ označuje, že heslo je uloženo v souboru /etc/shadow.
ID uživatele: Identifikátor uživatele pro daný účet.
ID skupiny: Identifikátor skupiny pro daný účet.
GECOS: Původně zkratka pro General Electric Comprehensive Operation Supervisor. V současnosti pole GECOS obsahuje sadu informací o účtu oddělených čárkami, jako je celé jméno uživatele, číslo místnosti, telefonní čísla do kanceláře i domů.
Home: Cesta k domovskému adresáři uživatelského účtu.
Shell: Program spuštěný po přihlášení uživatele.

Prázdná pole jsou označena dvojtečkou.

Příkaz `finger` získává informace právě z pole GECOS.

finger mary

Soubor shadow

Pro přístup k souboru „/etc/shadow“ musíte použít příkaz `sudo`:

sudo less /etc/shadow

Po zadání příkazu se zobrazí obsah souboru. Každý záznam v souboru „/etc/passwd“ by měl mít odpovídající záznam v souboru „/etc/shadow“.

Každý řádek reprezentuje jeden uživatelský účet a skládá se z devíti polí oddělených dvojtečkou:

Uživatelské jméno: Přihlašovací jméno účtu.
Šifrované heslo: Šifrovaná podoba hesla.
Poslední změna: Datum poslední změny hesla.
Minimální dny: Minimální počet dnů mezi změnami hesla. Uživatel musí počkat tento počet dnů před změnou hesla. Hodnota nula znamená, že heslo může být změněno kdykoli.
Maximální dny: Maximální počet dnů mezi změnami hesla. Obvykle se zde nachází velmi vysoké číslo. Například pro „mary“ je to 99 999 dní, což odpovídá více než 27 letům.
Dny výstrahy: Počet dnů před vypršením platnosti hesla, kdy se zobrazuje upozornění.
Resetovat uzamčení: Po vypršení platnosti hesla systém čeká určitý čas před deaktivací účtu.
Datum vypršení platnosti účtu: Datum, po kterém se uživatel nemůže přihlásit. Prázdné pole znamená, že platnost účtu nikdy nevyprší.
Rezervní pole: Prázdné pole pro budoucí využití.

Prázdná pole jsou označena dvojtečkou.

Zobrazení pole „Poslední změna“ jako data

Unixová epocha začala 1. ledna 1970. Hodnota v poli „Poslední změna“ je počet dní od tohoto data. Například, hodnota 18 209 znamená, že heslo k účtu „mary“ bylo naposledy změněno před 18 209 dny od 1. ledna 1970.

Pro zobrazení data poslední změny hesla použijte následující příkaz:

date -d "1970-01-01 18209 days"

Zobrazí se datum půlnoci dne, kdy bylo heslo naposledy změněno. V tomto konkrétním případě se jedná o 9. listopadu 2019.

Příkaz passwd

Pro změnu hesla (včetně hesel ostatních uživatelů, pokud máte oprávnění sudo), použijte příkaz `passwd`.

Pro změnu svého vlastního hesla zadejte příkaz `passwd` bez dalších parametrů:

passwd

Systém vás vyzve k zadání stávajícího hesla a nového hesla, které musíte zadat dvakrát pro potvrzení.

Změna hesla jiného uživatele

Pro změnu hesla jiného uživatele musíte použít příkaz `sudo` a zadat uživatelské jméno:

sudo passwd mary

Musíte zadat své heslo pro ověření oprávnění superuživatele. Následně zadejte nové heslo pro daný účet a potvrďte jej opětovným zadáním.

Vynucení změny hesla

Pro vynucení změny hesla při příštím přihlášení použijte parametr `-e` (vyprší):

sudo passwd -e mary

Systém potvrdí, že datum vypršení platnosti hesla bylo změněno.

Při příštím přihlášení bude uživatelka s účtem „mary“ muset změnit heslo:

Uzamknutí účtu

Pro uzamčení účtu použijte příkaz `passwd` s parametrem `-l` (lock):

sudo passwd -l mary

Systém oznámí, že datum vypršení platnosti hesla bylo změněno.

Majitel účtu se již nebude moci přihlásit pomocí svého hesla. Pro odemknutí účtu použijte parametr `-u` (unlock):

sudo passwd -u mary

Systém opět informuje o změně údajů vypršení platnosti hesla:

Uživatel se sice nemůže přihlásit pomocí hesla, ale stále se může přihlásit pomocí jiné metody, která nevyžaduje heslo, například pomocí klíčů SSH. Pro skutečné zablokování přístupu je nutné nastavit expiraci účtu.

Příkaz chage

Příkaz `chage` (change age) umožňuje nastavit datum vypršení platnosti celého účtu.

Pro zobrazení aktuálního nastavení účtu „mary“ použijte parametr `-l` (list):

sudo chage -l mary

V tomto případě je datum vypršení platnosti účtu nastaveno na „nikdy“.

Pro změnu data vypršení platnosti použijte parametr `-E` (expiry). Nastavení na nulu se interpretuje jako „nula dní od počátku Unixové epochy“, tedy 1. ledna 1970.

Zadejte následující příkaz:

sudo chage -E0 mary

Nyní znovu zkontrolujte datum vypršení platnosti účtu:

sudo chage -l mary

Protože je datum vypršení platnosti v minulosti, je účet nyní skutečně uzamčen bez ohledu na metodu ověření, kterou by mohl uživatel použít.

Pro obnovení účtu použijte stejný příkaz s `-1` jako numerickým parametrem:

sudo chage -E -1 mary

Pro kontrolu zadejte následující příkaz:

sudo chage -l mary


Datum vypršení platnosti účtu se resetuje na „nikdy“.

Změna hesla účtu v GNOME

Ubuntu a mnoho dalších distribucí Linuxu používají GNOME jako výchozí grafické prostředí. Ke změně hesla můžete použít dialogové okno „Nastavení“.

Klikněte na ikonu „Nastavení“ v systémové nabídce.

V okně „Nastavení“ klikněte na „Podrobnosti“ v levém panelu a poté na „Uživatelé“.

Klikněte na účet, u kterého chcete změnit heslo; v tomto případě zvolíme „Mary Quinn“. Klikněte na účet a poté na „Odemknout“.

Budete vyzváni k zadání hesla. Po ověření budou údaje uživatele „Mary“ editovatelné. Klikněte na pole „Heslo“.

V dialogovém okně „Změnit heslo“ klikněte na přepínač „Nastavit heslo nyní“.

Zadejte nové heslo do polí „Nové heslo“ a „Ověřit nové heslo“.

Pokud se hesla shodují, tlačítko „Změnit“ zezelená; kliknutím na něj uložíte nové heslo.

V jiných grafických prostředích jsou nástroje pro správu účtů podobné těm v GNOME.

Buďte ostražití, buďte v bezpečí

Hesla jsou klíčovou součástí zabezpečení online účtů již 60 let a v dohledné době se situace nezmění.

Proto je důležité s nimi moudře zacházet. Pochopení mechanismů fungování hesel v Linuxu a osvojení si správných postupů pro jejich tvorbu a správu vám pomůže udržet váš systém v bezpečí.