Während das Durcharbeiten der Amazon-Dokumentation hilfreich war (wie in der Antwort von @ Ouroborus), überlegte ich schließlich, wie ich dieses Chaos reparieren sollte, in das ich mich hineingelegt hatte.
Mal sehen, ob ich mich an alle Schritte erinnern kann ...
Sobald diese Wiederherstellungsinstanz erstellt wurde ...
- Vergewissern Sie sich, dass Sie die Namen Ihrer EBS-Volumes im Auge behalten (da Sie Ihr problematisches Volume zwischen dieser temporären Instanz und wieder in Ihrer ursprünglichen Instanz bereitstellen müssen).
- Markieren Sie nach unten, welchen Weg Ihr Problem Instanz greift auf das Volumen (zB:
/dev/xvda
). - Ok, jetzt Stop (nicht Beenden !!!) Ihrer Probleminstanz.
- Möglicherweise müssen Sie den Browser aktualisieren, um zu bestätigen, dass er angehalten wurde (dies kann einige Sekunden dauern).
Navigieren Sie nun zum Abschnitt EBS Volumes:
Deaktivieren Sie das Volume, die derzeit für das Problem Instanz gebunden ist (sind Sie in Ihrer Instanz des Status markiert sehen, wie gestoppt in einen der äußersten rechten Spalten).
- Aktualisieren, um zu bestätigen, dass das Volume "verfügbar" ist.
Hängen Sie das Volume in Ihre neue Wiederherstellungsinstanz ein (wenn Sie Ihre Wiederherstellungsinstanz nicht in der Liste sehen können, haben Sie wahrscheinlich den oben genannten "Subnetz" -Schritt verpasst - und Sie müssen Ihre Wiederherstellungsinstanz immer wieder neu erstellen, um dieses Teilnetz anzupassen Rahmen).
Aktualisieren Sie, bestätigen Sie, dass es jetzt in Ihrer Wiederherstellungsinstanz "in Verwendung" ist.
Nun zu den lustigen Befehlszeilenschritten!
Melden Sie sich / SSH in Ihrer Wiederherstellungsbox an (Sie können die IP- / Host-Adresse der Wiederherstellungsinstanz im Abschnitt Instanzen von AWS nachschlagen).
Setzen Sie Ihr aktuelles Arbeitsverzeichnis auf das Stammverzeichnis:
cd /
Erstellen Sie ein Verzeichnis für Ihr problematisches EBS-Volume:
sudo mkdir bad
Montieren Sie es: sudo mount /dev/xvdf /bad
(HINWEIS: Wenn dies nicht funktioniert, ist möglicherweise dasselbe Problem aufgetreten, das ich hatte. Versuchen Sie stattdessen Folgendes: sudo mount /dev/xvdf1 /bad
Dank dieser Antwort https://serverfault.com/a/632906/356372 ).
Wenn dies gut geht, sollten Sie jetzt in diesem Verzeichnis cd/bad
speichern können und die gleiche Dateistruktur sehen, die Sie normalerweise sehen würden, wenn sie in Ihre ursprüngliche (derzeit problematische) Instanz eingebunden wird.
SEHR WICHTIG Hinweis in den folgenden paar Schritten, wie ich verwende ./etc
und nicht /etc
die Berechtigungen / Eigentum auf der, um anzuzeigen, zu ändern /bad/etc/sudoers
Datei, nicht die Recovery - EBS Volumen! Ein kaputtes Volumen reicht, oder?
Versuchen Sie:
cd /bad
ls -l ./etc/sudoers
... dann folgen Sie dem durch:
stat --format %a ./etc/sudoers
Bestätigen Sie, dass der Besitz und / oder der chmod
Wert dieser Datei tatsächlich falsch ist.
Führen Sie folgende chown
Schritte aus, um den Besitz zu korrigieren :
sudo chown root:root ./etc/sudoers
Führen Sie folgende chmod
Schritte aus, um den Wert festzulegen:
sudo chmod 0755 ./etc/sudoers
Jetzt geht es nur noch darum, die Schritte umzukehren!
Sobald dies erledigt ist, ist es Zeit für die Demontage: cd /
sudo umount /bad
Gehen Sie zurück zur AWS-Konfigurationsseite zum Abschnitt EBS Volume.
- Hängen Sie das feste Volume von der Wiederherstellungsinstanz ab.
- Aktualisieren Sie, bestätigen Sie, dass es ist
available
. - Mounten Sie es wieder in der ursprünglichen Instanz (NICHT VERGESSEN - verwenden
/dev/whatever/
Sie vor allen diesen Schritten denselben Pfad, den Ihre ursprüngliche Instanz verwendet hat). - Aktualisieren Sie, bestätigen Sie, dass es ist
in-use
. - Navigieren Sie nun zum Abschnitt Instanzen und starten Sie Ihre ursprüngliche Instanz erneut. (Der Neustart kann einige Sekunden / Minuten dauern).
- Wenn alles in Ordnung ist, sollten Sie sich jetzt anmelden und SSH in Ihre EC2-Instanz einfügen und
sudo
erneut verwenden können!
Glückwunsch, wenn es auch für Sie funktioniert hat!
Wenn nicht .... ich bin so .... es tut mir sehr leid, dass dir das passiert :(