Die Datei /etc/shadow
enthält einige Datumsfelder, die als Anzahl der Tage seit dem 1. Januar 1970 ausgedrückt werden. Gibt es eine einfache Möglichkeit, eine Liste der Benutzer und das Kalenderdatum der letzten Kennwortänderung sowie des Ablaufs abzurufen?
Referenz:Mann Schatten(5)
Antwort1
chage -l <username>
Beispielausgabe:
Last password change : Dec 17, 2015
Password expires : Mar 16, 2016
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 14
Antwort2
Melden Sie den Kennwortstatus für das angegebene Konto.passwd -S username
for user in $(cut -d: -f1 /etc/passwd); do sudo passwd -S $user; done
Antwort3
for n in $(sudo cat /etc/shadow | awk '{FS=":";print $3}'); do date -d "01/01/1970 +${n}days" +%F; done
Um die sinnlose Verwendung des Katzenpreises zu vermeiden:
for n in $(sudo awk '{FS=":";print $3}' /etc/shadow); do date -d "01/01/1970 +${n}days" +%F; done
Antwort4
Dadurch werden für jeden Benutzer Informationen zur Kennwortaktualisierung ausgegeben:
Lesen Sie die Datei /etc/passwd >> analysieren Sie jeden Benutzer >> führen Sie den Befehl chage -l für jeden Benutzer aus
for user in $(cut -d: -f1 /etc/passwd); do echo -e "\n $user \n" && chage -l $user; done