Jak sprawdzić, czy użytkownik/hasło wygasło w AIX?
czy na AIX jest jakieś polecenie typu chage
? sprawdź plik/etc / shadow, w którym przechowywane są informacje o wygaśnięciu.
aktualizacja: wydaje się, że istnieje podprogram passwdexpired, który można załadować i sprawdzić hasło użytkownika, aby określić, czy wygasło. Jednak wydaje się być używany jako korzeń.
http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.basetechref%2Fdoc%2Fbasetrf1%2Fpasswdexpired.htm
ten link ma doskonałą dokumentację tego, czego potrzebujesz
http://www.torontoaix.com/scripting/when_pwd_exp
jak wykazano wcześniej w powyższym artykule, wygaśnięcie hasła jest regulowane przez atrybut maxage.
For example:maxage=0 means never to expiremaxage=2 means will expire in two weeks.
AIX przechowuje czas w formacie epoch w sekundach, więc najpierw musisz określić, ile sekund w tygodniu, ponieważ w ten sposób maxage mierzy czas między wygaśnięciem hasła, czyli w liczbach tygodni. W ciągu dnia jest 86400 sekund, więc mnożenie przez 7 daje 604800. Więc jest 604800 sekund w tygodniu. Następne polecenie, na które musisz spojrzeć, to pwdadm, które z kolei zapytuje plik / etc/security / passwd. Ten plik przechowuje wartości w sekundach, gdy użytkownik ostatnio zmienił hasło. Przesłuchiwanie pliku lub użycie polecenia pwdadm zwróci ten sam wynik. Dla tej demonstracji zapytajmy użytkownika spoll:
# grep -p "spoll:" /etc/security/passwdspoll: password = EvqNjMMwJzXnc lastupdate = 1274003127 flags = ADMCHG# pwdadm -q spollspoll: lastupdate = 1274003127 flags = ADMCHG
możesz zobaczyć wartość lastupdate w sekundach z powyższego wyjścia. Innymi słowy, przy ostatniej zmianie hasła:1274003127
następnie, używając lsuser lub przesłuchując plik za pomocą / etc / security / user, możesz określić liczbę tygodni przed wygaśnięciem hasła spolszczenia użytkownika:
# grep -p "spoll:" /etc/security/userspoll: admin = false maxage = 4# lsuser -a maxage spollspoll maxage=4
z powyższego wyniku wynika, że liczba tygodni przed wygaśnięciem hasła wynosi 4.Następnie należy pomnożyć liczbę sekund w tygodniu przez liczbę tygodni przed wygaśnięciem hasła użytkownika. W tym przypadku jest to 4:604800 * 4
# expr 604800 \* 42419200
następnie musisz dodać wartość maxage w sekundach (604800 * 4) do czasu ostatniej zmiany hasła:2419200 + 1274003127
# expr 2419200 + 12740031271276422327
możesz teraz przekonwertować tę liczbę sekund z epoki Uniksa na bardziej sensowną prezentację czasu bieżącego. Możesz użyć różnych narzędzi, ale do tej demonstracji użyjesz funkcji gawk z funkcją strftime:
# gawk 'BEGIN {print strftime("%c",'1276422327')}'Sun Jun 13 10:45:27 BST 2010
powyższe wyliczenie daje czas następnego hasła expiry.So, teraz wiesz, że hasło użytkownika Spolszczenie zostało ostatnio zmienione (z polecenia pwdadm):
# gawk 'BEGIN {print strftime("%c",'1274003127')}'Sun May 16 10:45:27 BST 2010
i że wygaśnie na:
Sun Jun 13 10:45:27 BST 2010
——————skrypt Perla-niech——–
#!/bin/perluse POSIX qw(strftime);$maxage=4; $last_update = 1274003127$max_week_seconds = 86400 * $maxage;print strftime("%C ", localtime($max_week_seconds));