Uživatelský účet lze uzamknout nebo deaktivovat několika způsoby. Příspěvky pojednávají o několika nejpoužívanějších způsobech.
1. Uzamknout heslo
K uzamčení uživatelského účtu použijte příkaz usermod -L nebo passwd -l . Oba příkazy přidají vykřičník (“!”) ve druhém poli souboru /etc/passwd . Například:
# usermod -L testuser
nebo
# passwd -l testuser
2. Vyprší platnost uživatelského účtu
Příkazy passwd -l a usermod -L jsou neefektivní, pokud jde o deaktivaci/uzamykání uživatelských účtů. Tyto příkazy nepovolí autentizaci veřejnými klíči SSH (nebo jinými moduly PAM než pam_unix, které mohou být povoleny). Navíc změna shellu na /bin/false nebo /sbin/nologin je pro nás neuspokojivá, protože to ovlivňuje pouze interaktivní přihlášení. Pro úplné zablokování uživatelských účtů tedy můžete použít příkaz chage -E0 . Například:
# chage -E0 testuser
Platnost účtu vyprší pomocí 8. pole v /etc/shadow (pomocí „chage -E“) zablokuje všechny přístupové metody, které používají PAM k ověření uživatele.
3. Změna shellu
Můžeme také změnit výchozí shell uživatele na /sbin/nologin aby uživatel při pokusu o přihlášení do systému nezískal žádný přihlašovací shell.
# usermod -s /sbin/nologin [username]
Můžete zkontrolovat 7. a poslední pole v /etc/passwd pro změnu shellu na /sbin/nologin.
Ověřte, zda je účet uzamčen nebo deaktivován.
U každé z výše popsaných metod můžete pomocí níže uvedených metod ověřit, zda je uživatelský účet uzamčen/deaktivován.
1. Zkontrolujte, zda je uživatelský účet uzamčen.
Vyhledejte příznak *LK* v níže uvedeném výstupu příkazu, který označuje, že účet je uzamčen.
# passwd --status root root *LK* 2017-07-19 0 45 7 -1 (Password set, SHA512 crypt.)
2. Zkontrolujte, zda má účet datum vypršení platnosti.
Zkontrolujte řádky Platnost hesla vyprší a Platnost účtu vyprší zkontrolovat, zda vypršela platnost hesla účtu.
# chage -l root Last password change : Jul 19, 2017 Password expires : Sep 02, 2017 Password inactive : never Account expires : Sep 02, 2017 Minimum number of days between password change : 0 Maximum number of days between password change : 45 Number of days of warning before password expires : 7
3. Zkontrolujte neinteraktivní shell
Zkontrolujte, zda nebyl uživatelský shell změněn na neinteraktivní shell, jako je /sbin/nologin .
# grep ^root /etc/passwd root:x:0:0:root:/root:/sbin/nologin