In caso di impossibilità di login in un VIOS , è possibile tentare un cambio senza downtime per il vio stesso , attraverso un comando eseguibile da hmc: viosvrcmd .
Iniziamo cercando l'hash corrente della password di padmin:
hscroot@HMC:~> command=`printf "oem_setup_env\ncat /etc/security/passwd"`; viosvrcmd -m P7-740 -p vios1 -c "$command"
...
...
padmin:
password = do9GyXN92mf1I
lastupdate = 1389265066
...
2. Generiamo il nuovo hash
Da un altro server AIX
root@nim01:/#openssl passwd
Password:
Verifying - Password:
mGHFmb5.LT0hg
3. Sotituiamo il vecchio hash con il nuovo
Questo è il vero gioco di prestigio , con una regexp in perl sostituiamo il vecchio hach con il nuovo .
hscroot@HMC:~> command=`printf "oem_setup_env\nperl -pi -e 's/do9GyXN92mf1I/mGHFmb5.LT0hg/' /etc/security/passwd"`; viosvrcmd -m P7-740 -p vios1 -c "$command"
Attenzione che se la vecchia o la nuova password contengono un carattere di '/' deve essere modificato il carattere separatore usando ad esempio la virgola, oppure escapando
la slash con una backslash .
4. Per evitare guai resettiamo anche i failed login count :
hscroot@HMC:~> command=`printf "oem_setup_env\nchsec -f /etc/security/lastlog -a unsuccessful_login_count=0 -s padmin"`; viosvrcmd -m P7-740 -p vios1 -c "$command"
5. Potrebbe capitare che il login sia tuttora impossibile e si ottenga un messaggio come il seguente:
login: padmin
padmin's Password:
[compat]: 3004-327 Your password has been expired for too long.
3004-321 Please see the system administrator to change your password.
In tal caso è necessario resettare anche il valore di maxage :
hscroot@HMC:~> command=`printf "oem_setup_env\nchsec -f /etc/security/user -a maxage=0 -s padmin"`; viosvrcmd -m P7-740 -p vios1 -c "$command"
Nessun commento:
Posta un commento