Hai a che fare con un server VMWare ESXi ma non possiedi la password di root? Hai dimenticato la password scelta in fase di installazione e vuoi quindi reimpostarla? Con questo articolo provo ad aiutarti, a tuo rischio e pericolo!
Quando si scrivono articoli di questo tipo è bene chiarire le cose fin da subito:
- non c’è alcuna garanzia che quanto riportato in questo articolo funzioni!
- le operazioni indicate in questo articolo potrebbero compromettere il funzionamento del sistema: se scegli di eseguirle e qualcosa va storto, la responsabilità è tua!
Detto questo, cominciamo :)
Resettare la password di root in un server VMWare ESXi – modo ufficiale
Nell’articolo Changing a forgotten root password on an ESX/ESXi host (1317898) VMware riporta i modi ufficiali per resettare la password dell’utente root in un host ESX/ESXi. In estrema sintesi si tratta di reinstallare l’host ESXi scegliendo di conservare l’esistente VMFS datastore. In questo modo si conserveranno le macchine virtuali esistenti e sarà possibile impostare una nuova password per l’utente root. Ovviamente, conclusa l’installazione, sarà necessario provvedere anche alla riconfigurazione delle altre impostazioni del server VMware … .
Resettare la password di root in un server VMWare ESXi – modo NON ufficiale
Se per qualche motivo non volete seguire le indicazioni ufficiali di VMWare per reimpostare la password di root, eccovi una soluzione alternativa.
NOTA: la modifica della password di root potrebbe impedirti di accedere al datastore contenente le macchine virtuali se questo risiede in uno storage esterno
Crea una chiavetta USB che ti permetta di avviare al boot una delle ultime versioni di Ubuntu Desktop
A questo scopo potrebbe esserti utile l’articolo “Come creare una chiavetta USB avviabile con RUFUS“.
Ovviamente nessuno ti impedisce di scegliere una distro diversa, se preferisci, ma qui ti suggerisco Ubuntu Desktop perché:
- hai buone possibilità che tutti i dischi del server vengano correttamente riconosciuti e montati automaticamente
- se non sei un esperto della console ti potrebbe essere utile l’interfaccia grafica per alcune operazioni
Avvia quindi il server dalla chiavetta USB.
Trova “il file con le password”
Nei dischi del server devi trovare il file state.tgz quindi:
find /media/ -name state.tgz
Crea subito una copia di questo file!
Copia il file state.tgz nel desktop, quindi scompattalo:
cd ~/Desktop/ tar -xvf state.tgz
Ti troverai quindi difronte al file local.tgz che dovrai scompattare a sua volta:
tar -xvf local.tgz
Otterrai così la cartella /etc contenente il file shadow
Reset della password
Edita il file shadow:
gedit etc/shadow
Il file shadow usa il carattere : (due punti) come separatore dei dati:
- il primo dato è il nome dell’utente
- il secondo dato è la sua password
Per impostare una password “vuota” devi quindi eliminare nella riga che inizia con root tutto ciò che c’è tra il primo e il secondo carattere : (due punti), ottenendo qualcosa del tipo:
root :: <qualche numero> :::
Sovrascrivi “il file con le password”
A questo punto devi fare il percorso a ritroso, archiviando la directory etc/ nel file local.tgz e questo in state.tgz :
cd ~/Desktop tar czf local.tgz etc/ tar czf state.tgz local.tgz
Non ti resta che rimpiazzare il file state.tgz originale con quello appena creato.
Finito.
Riavvia il server e verifica se sei stato fortunato ;)
Buon lavoro e buon divertimento (!?)