venerdì 25 luglio 2014

Cambiare password di padmin da hmc

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: