GNU/Linux >> Znalost Linux >  >> Linux

Jak změnit heslo v Linuxu (příkaz passwd)

V tomto tutoriálu vysvětlím, jak může uživatel nebo super uživatel (root) změnit heslo v Linuxu. Passwd je příkaz používaný v Linuxu (Redhat, Centos, Ubuntu, Debian, Fedora) a operačních systémech podobných UNIXu ke změně hesla.

Když spustíme passwd příkaz zašifrované heslo uživatele je uloženo v souboru /etc/shadow.

Normální uživatel (ne root) bude moci pouze změnit své heslo. Zatímco uživatelé root nebo sudo mohou změnit heslo pro jakýkoli účet.

Z bezpečnostních důvodů je vždy vhodné používat silné heslo a pravidelně ho měnit.

Změna hesla

Pokud passwd příkaz provede uživatel bez oprávnění root, požádá o aktuální heslo a poté nastaví nové heslo tohoto uživatele. Super uživatel nebo root může resetovat heslo pro kteréhokoli uživatele včetně root, aniž by znal aktuální heslo.

Pokud příkaz passwd je vyvoláno uživatelem bez oprávnění root, musíte nejprve zadat své stávající heslo, než přistoupíte ke změně hesla. Heslo je třeba zadat dvakrát a během psaní se na obrazovce nezobrazuje ozvěna.

$ passwd 
Changing password for vagrant.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Jako hesla také nemůžete zadat jednoduchá slova. Příkaz Passwd zkontroluje, jak dlouhé a složité je vaše heslo. V následujícím výstupu je vyzkoušeno jednoduché heslo založené na slovníku.

$ passwd 
Changing password for vagrant.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
You must choose a longer password
Enter new UNIX password: 
Retype new UNIX password: 
Bad: new password is too simple
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Změna hesla jako superuživatel (root)

Každý uživatel systému může změnit pouze své heslo. passwd příkaz nebere žádný argument, když je spuštěn jako normální uživatel.

Ale jako root můžete změnit a resetovat heslo kteréhokoli uživatele v systému.

Použití je následující:

# passwd [options] [user_name]

Různé možnosti, které lze použít, jsou:

Options:
  -a, --all                     report password status on all accounts
  -d, --delete                  delete the password for the named account
  -e, --expire                  force expire the password for the named account
  -h, --help                    display this help message and exit
  -k, --keep-tokens             change password only if expired
  -i, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --lock                    lock the password of the named account
  -n, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -q, --quiet                   quiet mode
  -r, --repository REPOSITORY   change password in REPOSITORY repository
  -R, --root CHROOT_DIR         directory to chroot into
  -S, --status                  report password status on the named account
  -u, --unlock                  unlock the password of the named account
  -w, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS
  -x, --maxdays MAX_DAYS        set maximum number of days before password
                                change to MAX_DAYS

Když root spustí passwd příkaz obnoví výchozí heslo uživatele root, a pokud zadáte uživatelské jméno za passwd příkaz pak změní heslo tohoto uživatele.

# passwd vagrant
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
# 

Root může dokonce poskytnout jednoduchá hesla. I když se zobrazí varování, heslo bylo stále úspěšně změněno. Heslo systémového uživatele je uloženo v zašifrované podobě v souboru /etc/shadow.

Zobrazit informace o stavu hesla

Chcete-li zobrazit informace o stavu hesla požadovaného uživatele, použijte -S možnost v příkazu passwd.

# passwd -S vagrant
vagrant P 07/02/2019 0 99999 7 -1
# 

První pole zobrazuje uživatelské jméno, druhé pole zobrazuje stav hesla (PS =Password Set, LK =Password locked, NP =No Password), třetí pole ukazuje, kdy bylo heslo naposledy změněno a poslední a čtvrté pole zobrazuje minimální věk, maximální věk, varování období a dobu nečinnosti hesla.

Pro výpis stavu všech uživatelských hesel v systému použijeme -Sa parametr:

# passwd -Sa
root P 05/14/2019 0 99999 7 -1
daemon L 05/14/2019 0 99999 7 -1
bin L 05/14/2019 0 99999 7 -1
sys L 05/14/2019 0 99999 7 -1
sync L 05/14/2019 0 99999 7 -1
games L 05/14/2019 0 99999 7 -1
man L 05/14/2019 0 99999 7 -1
lp L 05/14/2019 0 99999 7 -1
mail L 05/14/2019 0 99999 7 -1
news L 05/14/2019 0 99999 7 -1
uucp L 05/14/2019 0 99999 7 -1
proxy L 05/14/2019 0 99999 7 -1
www-data L 05/14/2019 0 99999 7 -1
backup L 05/14/2019 0 99999 7 -1

Odebrání hesla uživatele

K odstranění hesla požadovaného uživatele použijeme -d možnost příkazu:

# passwd -d test
passwd: password expiry information changed.
# passwd -S test
test NP 07/02/2019 0 99999 7 -1

Poznámka:Možnost -d vyprázdní uživatelské heslo a deaktivuje uživatelský účet.

Nastavit vypršení platnosti hesla

Chcete-li, aby vypršela platnost hesla uživatele a přinutit uživatele, aby heslo změnil při příštím přihlášení, použijte -e možnost v passwd příkaz.

# passwd -e test
passwd: password expiry information changed.
# passwd -S test
test NP 01/01/1970 0 99999 7 -1

Zamknutí a odemknutí hesla systémového uživatele

Chcete-li uzamknout heslo uživatele, použijte -l možnost v passwd příkaz. Přidá ! na začátku uživatelského hesla. Uživatel nemůže změnit své heslo, když je jeho/její heslo uzamčeno.

# passwd -l test
passwd: password expiry information changed.
# passwd -S test
test L 07/03/2019 0 99999 7 -1

Pro odemknutí hesla uživatele použijte -u možnost:

# passwd -u test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 -1

Nastavení neaktivních dnů pomocí volby -i

Toto bude aktivováno, když platnost hesla vybraného uživatele vyprší a uživatel své heslo nezmění do ‚n‘ počtu dní (tj. 10 dní). Poté se uživatel nebude moci přihlásit.

# passwd -i 10 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 10

Nastavit dny varování před vypršením platnosti hesla

Možnost -w se používá nastavit varovné dny předtím, než je uživatel upozorněn na změnu hesla. To znamená, že uživatel bude upozorněn n počet dní před vypršením platnosti jeho hesla.

# passwd -w 5 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 5 10

Nastavte minimální počet dní pro změnu hesla

Níže uvedený příklad testovacího uživatele musí změnit heslo do 30 dnů. Hodnota nula znamená, že uživatel může své heslo kdykoli změnit.

# passwd -n 30 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 30 99999 5 10

Závěr

V tomto tutoriálu jsme se naučili, jak změnit uživatelské heslo v Linuxu. Pro více informací se podívejte na manuálové stránky příkazu passwd. Děkujeme, že jste si přečetli tento článek, a pokud máte nějaké dotazy, dejte mi vědět.

Přečtěte si také:

  • Jak najít/změnit výchozí heslo roota Ubuntu
  • Jak přidat uživatele do Sudoers v Linuxu

Linux
  1. Jak změnit časové pásmo na serveru RHEL7 Linux

  2. Jak změnit, odebrat nebo zakázat uživatelské heslo v systému Linux

  3. Jak předat heslo příkazu SCP v Linuxu

  1. Jak používat příkaz Passwd v Linuxu

  2. Jak používat příkaz Linux cd ke změně adresáře

  3. Příklady příkazů passwd v Linuxu

  1. 10 příkladů příkazů passwd v Linuxu

  2. Jak změnit heslo v Linuxu – průvodce krok za krokem

  3. Jak změnit uživatelské heslo v Linuxu