Obtener el tiempo de caducidad de la contraseña

16

Permítanme comenzar con esto: NO tengo acceso de root disponible.

Recientemente me bloquearon mi cuenta porque no sabía que la fecha de vencimiento de la contraseña se estaba acercando, y luego transcurrió. Quiero agregar una verificación a mi script de inicio que verifique y muestre la hora para saber cuándo se acerca.

¿Hay algún comando o forma de obtener la marca de tiempo cuando caduque mi contraseña de usuario?

steveo225
fuente

Respuestas:

16

Debería poder obtener esa información de la chageutilidad. No requiere root para ejecutarse en modo de lista.

Nota: lo más probable es que esto solo funcione para la passwdautenticación local basada en. No sé si se puede hacer que funcione con modos de autenticación que no pongan información de inicio de sesión en los archivos passwd/ shadow. Supongo que estas soluciones proporcionan sus propias herramientas, pero no las conozco.

$ chage -l test                       
Last password change                                : Apr 17, 2012
Password expires                                    : Apr 27, 2012
Password inactive                                   : never
Account expires                                     : May 20, 2012
Minimum number of days between password change      : 0
Maximum number of days between password change      : 10
Number of days of warning before password expires   : 7

Lo utilicé con un awk rápido para mostrar la fecha de vencimiento de mi contraseña al iniciar sesión.

Estera
fuente
Extraño, recibo un error: usuario desconocido. Incluso intenté whoami | xargs chage -lasegurarme de que no estaba haciendo algo obviamente malo.
steveo225
¿Qué regresa whoami y qué hace grep $(whoami) /etc/password?
Mat
Esto parece funcionar solo si el usuario es local (no en LDAP u otra base de datos).
Patrick
@Patrick: lo más probable es que tengas razón, y no tengo acceso a máquinas con ese tipo de configuración de autenticación. Entonces no puedo proporcionar información adicional.
Mat
whoamidevuelve mi nombre de usuario correcto, pero creo que el sistema está utilizando LDAP.
steveo225
2

En ldap harás algo como:

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
maikcat
fuente
0

Desde chageusted puede hacer múltiples cambios y puede conocer los detalles de inicio de sesión de la siguiente manera ...

Usage: chage [options] [LOGIN]

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

y si tiene acceso de root, puede cambiar el tiempo de caducidad de su contraseña, solo edite

vim /etc/login.defs

solo configure los vlaues a continuación ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

Puede ayudarte

Vinood NK Maheshwari
fuente