Obtention du délai d'expiration du mot de passe


16

Permettez-moi de faire ceci avec: Je n'ai PAS accès root disponible.

J'ai récemment verrouillé mon compte parce que je ne savais pas que l'expiration du mot de passe approchait, puis s'est écoulée. Je veux ajouter une vérification à mon script de démarrage qui vérifie et affiche l'heure afin que je sache quand elle approche.

Existe-t-il une commande ou un moyen d'obtenir l'horodatage lorsque mon mot de passe utilisateur expirera?

Réponses:


16

Vous devriez pouvoir obtenir ces informations à partir de l' chageutilitaire. Ne nécessite pas que root s'exécute en mode liste.

Remarque: cela ne fonctionne probablement que pour l' passwdauthentification locale . Je ne sais pas si cela peut fonctionner avec des modes d'authentification qui ne mettent pas les informations de connexion dans les fichiers passwd/ shadow. Je suppose que ces solutions fournissent leurs propres outils, mais je n'en sais rien.

$ 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

Je l'ai utilisé avec un awk rapide pour afficher la date d'expiration de mon mot de passe lors de la connexion.


Bizarre, j'obtiens une erreur: utilisateur inconnu. J'ai même essayé whoami | xargs chage -lde m'assurer que je ne faisais pas quelque chose de mal.
— steveo225

Que revient whoami et que fait grep $(whoami) /etc/password-il?
— Mat

Cela semble fonctionner uniquement si l'utilisateur est local (pas dans LDAP ou autre base de données).
— Patrick

@Patrick: vous avez très probablement raison, et je n'ai pas accès aux machines avec ce type de configuration d'authentification. Je ne peux donc pas fournir d'informations supplémentaires.
— Mat

whoamine renvoie pas mon nom d'utilisateur correct, mais je crois que le système utilise LDAP.
— steveo225

2

Dans ldap, vous ferez quelque chose comme:

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

0

De chagevous pouvez effectuer plusieurs modifications et connaître les informations de connexion comme suit ...

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

et si vous avez un accès root, vous pouvez modifier le délai d'expiration de votre mot de passe, il suffit de le modifier.

vim /etc/login.defs

il suffit de configurer les vlaues ci-dessous ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

Cela peut vous aider

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.