
Lassen Sie mich dies mit folgendem einleiten:NICHTüber Root-Zugriff verfügen.
Ich wurde kürzlich aus meinem Konto ausgesperrt, weil ich nicht wusste, dass das Ablaufdatum des Passworts näher rückte und dann verstrichen war. Ich möchte meinem Startskript eine Prüfung hinzufügen, die die Zeit prüft und anzeigt, damit ich weiß, wann es näher rückt.
Gibt es einen Befehl oder eine Möglichkeit, den Zeitstempel zu erhalten, wann mein Benutzerkennwort abläuft?
Antwort1
Sie sollten diese Informationen vom Dienstprogramm erhalten können chage
. Für die Ausführung im Listenmodus ist kein Root-Zugriff erforderlich.
Hinweis: Dies funktioniert höchstwahrscheinlich nur bei lokaler, passwd
-basierter Authentifizierung. Ich weiß nicht, ob es mit Authentifizierungsmodi funktioniert, die keine Anmeldeinformationen in den passwd
/ shadow
-Dateien speichern. Ich vermute, dass diese Lösungen eigene Tools bereitstellen, aber ich weiß nichts über sie.
$ 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
Ich habe das mit einem schnellen Awk verwendet, um beim Anmelden das Ablaufdatum meines Passworts anzuzeigen.
Antwort2
In LDAP tun Sie beispielsweise Folgendes:
ldapsearch -x -Z uid=$1 pwdChangedTime | \
grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
Antwort3
Von hier aus chage
können Sie zahlreiche Änderungen vornehmen und die Zugangsdaten wie folgt erfahren...
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
und wenn Sie Root-Zugriff haben, können Sie die Ablaufzeit Ihres Passworts ändern, bearbeiten Sie es einfach …
vim /etc/login.defs
Stellen Sie einfach die folgenden Werte ein …
PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7
Es kann Ihnen helfen