3 ledna, 2022

jak zkontrolovat, zda uživatel/heslo vypršelo v AIX?

existuje nějaký chage druh příkazu na AIX? zkontrolujte soubor/etc / shadow, kde jsou uloženy informace o vypršení platnosti.

aktualizace: zdá se, že existuje podprogram passwdexpired, který lze načíst, a zkontroluje heslo uživatele, aby zjistil, zda vypršela platnost. Zdá se však, že se používá jako kořen.

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.basetechref%2Fdoc%2Fbasetrf1%2Fpasswdexpired.htm

tento odkaz má vynikající dokumentaci o tom, co byste požadovali

http://www.torontoaix.com/scripting/when_pwd_exp

jak bylo ukázáno výše ve výše uvedeném článku, vypršení platnosti hesla se řídí atributem maxage.

For example:maxage=0 means never to expiremaxage=2 means will expire in two weeks.

AIX ukládá čas ve formátu epochy v sekundách, takže nejprve musíte určit, kolik sekund za týden, protože takto maxage měří čas mezi vypršením platnosti hesla, tj. Existuje 86400 sekund za den, takže vynásobením sedmi přijde na 604800. Takže za týden je 604800 sekund. Dalším příkazem, na který se musíte podívat, je pwdadm, který zase dotazuje soubor /etc/security/passwd. Tento soubor obsahuje hodnoty během několika sekund, kdy uživatel naposledy změnil své heslo. Dotazování souboru nebo pomocí příkazu pwdadm vrátí stejný výsledek. Pro tuto ukázku, pojďme dotaz uživatele spoll:

# grep -p "spoll:" /etc/security/passwdspoll: password = EvqNjMMwJzXnc lastupdate = 1274003127 flags = ADMCHG# pwdadm -q spollspoll: lastupdate = 1274003127 flags = ADMCHG

z výše uvedeného výstupu můžete vidět hodnotu lastupdate v sekundách. Jinými slovy, naposledy bylo heslo změněno:1274003127

dále pomocí lsuser nebo dotazování souboru s / etc/security / user můžete určit počet týdnů před vypršením platnosti hesla uživatele spoll:

# grep -p "spoll:" /etc/security/userspoll: admin = false maxage = 4# lsuser -a maxage spollspoll maxage=4

z výše uvedeného výstupu můžete vidět, že počet týdnů před vypršením platnosti hesla je 4.Dalším úkolem je pak vynásobit počet sekund v týdnu počtem týdnů před vypršením platnosti hesla uživatele spoll. V tomto případě je 4:604800 * 4

# expr 604800 \* 42419200

dále je třeba přidat hodnotu maxage v sekundách (604800 * 4) k poslední změně hesla:2419200 + 1274003127

# expr 2419200 + 12740031271276422327

nyní můžete převést tento počet sekund z unixové epochy na smysluplnější prezentaci aktuálního času. Můžete použít různé nástroje, ale pro tuto demonstraci budete používat gawk s funkcí strftime:

# gawk 'BEGIN {print strftime("%c",'1276422327')}'Sun Jun 13 10:45:27 BST 2010

výše uvedený výpočet udává čas dalšího hesla expiry.So, nyní víte, že heslo uživatele spoll bylo naposledy změněno (z příkazu pwdadm):

# gawk 'BEGIN {print strftime("%c",'1274003127')}'Sun May 16 10:45:27 BST 2010

a že vyprší:

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.