hogyan ellenőrizhető, hogy a felhasználó/jelszó lejárt-e az AIX-ben?
van valamilyen chage
parancs az AIX-en? ellenőrizze az/etc / shadow fájlt, ahol a lejárati információk tárolódnak.
frissítés: úgy tűnik, van egy passwdexpired alprogram, amely betölthető, és ellenőrzi a felhasználó jelszavát annak megállapítására, hogy lejárt-e. Úgy tűnik azonban, hogy gyökérként használják.
http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.basetechref%2Fdoc%2Fbasetrf1%2Fpasswdexpired.htm
ez a link kiváló dokumentációt tartalmaz arról, hogy mire lenne szüksége
http://www.torontoaix.com/scripting/when_pwd_exp
amint azt a fenti cikk korábban bemutatta, a jelszó lejártát a maxage attribútum szabályozza.
For example:maxage=0 means never to expiremaxage=2 means will expire in two weeks.
az AIX epoch formátumban Tárolja az időt másodpercben, ezért először meg kell határoznia, hogy hány másodperc van egy héten, mivel a maxage így méri a jelszó lejárta közötti időt, azaz a hét számát. 86400 másodperc van egy nap alatt, tehát ezt megszorozzuk héttel 604800 – nál. Tehát 604800 másodperc van egy héten. A következő parancs, amelyet meg kell nézni, a pwdadm, amely viszont lekérdezi az /etc/security/passwd fájlt. Ez a fájl másodpercben tárolja az értékeket, amikor a felhasználó utoljára megváltoztatta a jelszavát. A fájl lekérdezése vagy a pwdadm parancs használata ugyanazt az eredményt adja vissza. Ehhez a bemutatóhoz kérdezzük meg a felhasználói spoll-t:
# grep -p "spoll:" /etc/security/passwdspoll: password = EvqNjMMwJzXnc lastupdate = 1274003127 flags = ADMCHG# pwdadm -q spollspoll: lastupdate = 1274003127 flags = ADMCHG
a lastupdate értéket másodpercben láthatja a fenti kimenetről. Más szavakkal, amikor utoljára megváltoztatták a jelszót:1274003127
ezután az lsuser használatával vagy a fájl lekérdezésével az /etc/security/user segítségével meghatározhatja a felhasználói spoll jelszó lejárta előtti hetek számát:
# grep -p "spoll:" /etc/security/userspoll: admin = false maxage = 4# lsuser -a maxage spollspoll maxage=4
a fenti kimeneten látható, hogy a jelszó lejárta előtti hetek száma 4.A következő feladat az, hogy megszorozzuk a másodpercek számát egy héten a hetek számával, mielőtt a felhasználói spoll jelszó lejár. Ebben az esetben 4:604800 * 4
# expr 604800 \* 42419200
ezután hozzá kell adnia a maxage értéket másodpercben (604800 * 4) A jelszó legutóbbi módosításához:2419200 + 1274003127
# expr 2419200 + 12740031271276422327
most már konvertálni, hogy a másodpercek száma UNIX epoch egy értelmesebb aktuális idő bemutatása. Különböző eszközöket használhat, de ehhez a bemutatóhoz a gawk-ot használja az strftime funkcióval:
# gawk 'BEGIN {print strftime("%c",'1276422327')}'Sun Jun 13 10:45:27 BST 2010
a fenti számítás megadja a következő jelszó idejét expiry.So, most már tudja, hogy a spoll felhasználói jelszavát utoljára megváltoztatták (a pwdadm parancsból):
# gawk 'BEGIN {print strftime("%c",'1274003127')}'Sun May 16 10:45:27 BST 2010
és hogy lejár:
Sun Jun 13 10:45:27 BST 2010
——————Perl script-let——–
#!/bin/perluse POSIX qw(strftime);$maxage=4; $last_update = 1274003127$max_week_seconds = 86400 * $maxage;print strftime("%C ", localtime($max_week_seconds));