Soluzione 1:
Si spera che tu stia utilizzando un volume root EBS. Se è così, la soluzione non è troppo difficile.
In sostanza, colleghi il volume EBS a un'altra istanza, apporti le modifiche e lo ricolleghi all'istanza originale:
- Arresta (non terminare) l'istanza originale
- Scollega il volume EBS
- Avvia un'altra istanza
- Collega il tuo attuale volume EBS alla nuova istanza
- SSH nella nuova istanza, monta il volume EBS e apporta le modifiche necessarie
- Smonta il volume EBS (ad es.
umount -d /dev/xvdh
oumount -d /dev/sdh
) - Scollega il volume EBS dalla nuova istanza e collegalo come volume root (ad es.
/dev/sda1
) della vecchia istanza - Avvia la vecchia istanza
- Se tutto funziona, termina la nuova istanza
Il motivo per cui funziona è che sulla nuova istanza fresca hai le autorizzazioni appropriate - il suo volume di root è intatto - il che rende il file sudoers dalla tua istanza originale solo un altro file che puoi modificare.
Se disponi di un volume root dell'instance store, purtroppo probabilmente non sarai in grado di risolvere il problema e dovrai ripristinare un'AMI che hai creato in precedenza come backup.
Soluzione 2:
Dipende se si tratta di un dispositivo root AMI o EBS.
Se si tratta di un'AMI e non hai la password di root e l'AMI non configura l'accesso SSH di root, non puoi fare nulla.
Se si tratta di un root EBS, puoi terminarlo e collegare il volume a un'istanza diversa (come disco aggiuntivo, non come root). Puoi quindi accedere ai dati o correggere il file sudoers e avviare una nuova istanza utilizzando il volume.