Extraer fechas de /etc/shadow

Extraer fechas de /etc/shadow

El archivo /etc/shadowtiene un par de campos de fecha que se expresan como el número de días desde el 1 de enero de 1970. ¿Existe una forma sencilla de obtener una lista de usuarios y la fecha del calendario del último cambio de contraseña y la caducidad?

Árbitro:sombra del hombre(5)

Respuesta1

chage -l <username>

Salida de ejemplo:

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

Respuesta2

informar el estado de la contraseña en la cuenta nombradapasswd -S username

for user in $(cut -d: -f1 /etc/passwd); do sudo passwd -S $user; done

Respuesta3

for n in $(sudo cat /etc/shadow | awk '{FS=":";print $3}'); do date -d "01/01/1970 +${n}days" +%F; done 

Para evitar el premio por el uso inútil del gato:

for n in $(sudo awk '{FS=":";print $3}' /etc/shadow); do date -d "01/01/1970 +${n}days" +%F; done 

Respuesta4

Esto genera información de actualización de contraseña para cada usuario:

Lea el archivo /etc/passwd >> analice cada usuario >> ejecute el comando chage -l en cada usuario

for user in $(cut -d: -f1 /etc/passwd); do echo -e "\n $user \n" && chage -l $user; done

información relacionada