El archivo /etc/shadow
tiene 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