Extrahieren Sie Daten aus /etc/shadow

Extrahieren Sie Daten aus /etc/shadow

Die Datei /etc/shadowenthä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

verwandte Informationen