Gennaio 3, 2022

Come verificare che un utente/password sia scaduto in AIX?

C’è una sorta di comando chage su AIX? controlla il file/etc / shadow che è dove sono memorizzate le informazioni sulla scadenza.

Aggiornamento: Sembra che ci sia una subroutine passwdexpired che può essere caricata e controlla la password dell’utente per determinare se è scaduta. Tuttavia, sembra essere usato come root.

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

Questo link ha un’eccellente documentazione di ciò che richiederesti

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

Come dimostrato in precedenza nell’articolo precedente, la scadenza di una password è regolata dall’attributo maxage.

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

AIX memorizza l’ora nel formato epoch in secondi, quindi prima devi determinare quanti secondi in una settimana, poiché questo è il modo in cui maxage misura il tempo tra la scadenza della password, cioè in numeri di settimana. Ci sono 86400 secondi in un giorno, quindi moltiplicando per sette arriva a 604800. Quindi ci sono 604800 secondi in una settimana. Il prossimo comando che devi guardare è pwdadm, che a sua volta interroga il file /etc/security/passwd. Questo file contiene i valori in secondi quando un utente ha cambiato l’ultima volta la propria password. Interrogare il file o utilizzare il comando pwdadm restituirà lo stesso risultato. Per questa dimostrazione, cerchiamo di interrogare l’utente spoll:

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

Puoi vedere il valore lastupdate in secondi dall’output sopra. In altre parole, l’ultima volta che la password è stata cambiata:1274003127

Successivamente, utilizzando lsuser o interrogando il file con / etc / security / user, è possibile determinare il numero di settimane prima che la password spoll dell’utente scada:

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

Si può vedere dall’output di cui sopra che il numero di settimane prima della scadenza della password è 4.Il prossimo compito è quindi quello di moltiplicare il numero di secondi in una settimana per il numero di settimane prima che la password spoll dell’utente scada. In questo caso, è 4:604800 * 4

# expr 604800 \* 42419200

Successivamente, è necessario aggiungere il valore maxage in secondi (604800 * 4) all’ultima volta che la password è stata modificata:2419200 + 1274003127

# expr 2419200 + 12740031271276422327

Ora puoi convertire quel numero di secondi da UNIX epoch in una presentazione dell’ora corrente più significativa. È possibile utilizzare diversi strumenti, ma per questa dimostrazione si utilizzerà gawk con la funzione strftime:

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

Il calcolo di cui sopra dà il tempo della prossima scadenza della password.Così, ora sapete che l’utente spoll la password è stata modificata ( da il pwdadm comando):

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

E che scade il:

Sun Jun 13 10:45:27 BST 2010

——————script Perl-let——–

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.