Czym jest /etc/shadow?
/etc/shadow to plik systemowy w Linuxie przechowujący chronione informacje o hasłach użytkowników. Znajdują się w nim m.in. skróty haseł oraz dane dotyczące okresu ważności hasła.
W pytaniach egzaminacyjnych należy zapamiętać: informacje o czasie ważności hasła są przechowywane w pliku shadow, czyli zwykle /etc/shadow.
Jakie informacje zawiera /etc/shadow?
Każdy wiersz pliku dotyczy jednego użytkownika. Pola są oddzielone dwukropkami :. Przykładowy wpis:
jan:$y$j9T$...:19600:0:90:7:14::
Znaczenie wybranych pól:
- nazwa użytkownika,
- zaszyfrowany skrót hasła,
- data ostatniej zmiany hasła,
- minimalna liczba dni przed kolejną zmianą hasła,
- maksymalna liczba dni ważności hasła,
- liczba dni ostrzeżenia przed wygaśnięciem hasła,
- liczba dni nieaktywności po wygaśnięciu hasła.
Dlaczego nie /etc/passwd?
Dawniej informacje o hasłach mogły znajdować się w /etc/passwd, ale ze względów bezpieczeństwa przeniesiono je do /etc/shadow. Plik /etc/passwd nadal zawiera dane o kontach użytkowników, np. UID, GID, katalog domowy i powłokę, ale nie powinien przechowywać właściwych skrótów haseł.
Uprawnienia
Plik /etc/shadow jest dostępny tylko dla konta root i wybranych procesów systemowych. Typowo ma bardzo ograniczone uprawnienia, ponieważ ujawnienie skrótów haseł ułatwiłoby atak słownikowy lub brute force.
Przydatne polecenia
Do zarządzania hasłami i ich ważnością używa się m.in.:
passwd jan # zmiana hasła użytkownika
chage -l jan # wyświetlenie informacji o ważności hasła
chage -M 90 jan # ustawienie ważności hasła na 90 dni