3 stycznia, 2022

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));

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.