januari 3, 2022

Hur kontrollerar jag att en användare / lösenord har gått ut i AIX?

finns det någon chage typ av kommando på AIX? kontrollera/etc / shadow-fil som är där utgångsinformationen lagras.

Uppdatering: det verkar som om det finns en passwdexired subrutin som kan laddas och kontrollerar användarens lösenord för att avgöra om det har löpt ut. Det verkar dock användas som rot.

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

denna länk har utmärkt dokumentation av vad du skulle kräva

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

som visat tidigare i ovanstående artikel regleras utgången av ett lösenord av maxage-attributet.

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

AIX lagrar tiden i epoch-formatet i sekunder, så först måste du bestämma hur många sekunder i en vecka, eftersom det här är hur maxage mäter tiden mellan lösenordets utgång, det vill säga i veckonummer. Det finns 86400 sekunder på en dag, så multiplicera det med sju kommer in på 604800. Så det finns 604800 sekunder på en vecka. Nästa kommando du behöver titta på är pwdadm, som i sin tur frågar filen /etc/security/passwd. Den här filen innehåller värdena på några sekunder när en användare senast ändrade sitt lösenord. Att förhöra filen eller använda kommandot pwdadm returnerar samma resultat. För denna demonstration, låt oss fråga användaren spoll:

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

du kan se lastupdate-värdet i sekunder från ovanstående utgång. Med andra ord, förra gången lösenordet ändrades:1274003127

nästa, med hjälp av lsuser eller förhör filen med / etc / security / user, kan du bestämma antalet veckor innan användaren spoll lösenord upphör att gälla:

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

du kan se från ovanstående utgång att antalet veckor före lösenordets utgång är 4.Nästa uppgift är sedan att multiplicera antalet sekunder i en vecka med antalet veckor innan användaren spoll lösenord förfaller. I det här fallet är det 4:604800 * 4

# expr 604800 \* 42419200

Därefter måste du lägga till maxvärdet i sekunder (604800 * 4) till sista gången lösenordet ändrades:2419200 + 1274003127

# expr 2419200 + 12740031271276422327

du kan nu konvertera det antalet sekunder från UNIX epoch till en mer meningsfull aktuell tidspresentation. Du kan använda olika verktyg, men för den här demonstrationen använder du gawk med strftime-funktionen:

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

ovanstående beräkning ger tiden för nästa lösenord expiry.So, du vet nu att användarspulls lösenord senast ändrades (från kommandot pwdadm):

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

och att det kommer att löpa ut på:

Sun Jun 13 10:45:27 BST 2010

——————Perl script-låt——–

#!/bin/perluse POSIX qw(strftime);$maxage=4; $last_update = 1274003127$max_week_seconds = 86400 * $maxage;print strftime("%C ", localtime($max_week_seconds));

Lämna ett svar

Din e-postadress kommer inte publiceras.