Wie kann ich nach einem Remote-Neustart von Redhat per SSH in den Wiederherstellungsmodus wechseln?

Wie kann ich nach einem Remote-Neustart von Redhat per SSH in den Wiederherstellungsmodus wechseln?

Ich muss in den Wiederherstellungsmodus meiner Redhat-Box wechseln, die remote auf einer virtuellen Maschine ausgeführt wird.

Ich verwende RedHat 5 64-Bit Enterprise Edition.

Ich bin per SSH bei der Box angemeldet. Ich kann mit dem Neustartbefehl neu starten, muss aber wissen, ob ich per SSH darauf zugreifen kann, da ich es remote verwende und mich nicht über die Benutzeroberfläche anmelden kann.

chown -R $USER /Das eigentliche Problem ist, dass ich einen Fehler im Stammverzeichnis gemacht habe .

Ich habe dies probeweise versucht, ohne mir der Konsequenzen bewusst zu sein, und wollte etwas zum Laufen bringen, was selbst mit sudo irgendwie nicht funktionierte.

Ich habe es auf halbem Weg beendet. Aber wegen dieser Dummheit kann ich sudo nicht verwenden.

Ich habe gelesen, dass ich im Rettungsmodus etwas tun kann, aber ich verstehe nicht, wie ich aus der Ferne in den Rettungsmodus komme. Ich kann Linux nicht neu installieren, das ist keine mögliche Option.

Gibt es eine Möglichkeit, meine Sudo-Berechtigungen zurückzuerhalten?

Dies funktioniert derzeit nicht:

chown root:root /usr/bin/sudo
chown: changing ownership of `/usr/bin/sudo': Operation not permitted
sudo chown root:root /usr/bin/sudo
sudo: must be setuid root

Antwort1

Sie können nicht per SSH in den Wiederherstellungsmodus wechseln, da SSH nicht ausgeführt wird. Sie müssen irgendwie auf die Konsole zugreifen. Wenn es sich um eine virtuelle Maschine handelt und Sie Eigentümer des Hosts sind, sollte es eine Möglichkeit geben, eine Verbindung zum Host herzustellen und auf die Konsole zuzugreifen. Wenn es sich um einen Dienst wie AWS handelt, haben Sie Pech gehabt und müssen ihn auf andere Weise wiederherstellen, z. B. indem Sie eine neue Instanz erstellen, das Stammvolume von der fehlerhaften Instanz trennen und es auf der neuen Instanz mounten, um das Problem zu beheben.

Antwort2

Redhat verwendet Systemd zum Starten/Stoppen von Jobs.

Wenn Sie sich im Rettungsmodus befinden, werden die Ziele rescueoder verwendet emergency.

Sie müssen sshd (und seine Abhängigkeiten) so konfigurieren, dass es auch auf diesen Runleveln (= Zielen in der systemd-Terminologie) ausgeführt wird.

HierWeitere Informationen zur Feinabstimmung von systemd finden Sie hier. Einige RedhatDokumentekann auch verwendbar sein.

Antwort3

Das Problem wurde gelöst und diese Frage kann geschlossen werden. Ich konnte dies jedoch nicht über SSH tun. Ich musste die Instanz auf der virtuellen Box ausschalten und neu starten. Dies über SSH zu tun, bleibt zur Diskussion offen.

So lösen Sie das Problem durch einen Neustart der rhel5-Instanz:

1.Boot the system into single user mode (do this by pressing esc on the boot screen. you will get a terminal on the boot screen after doing this)
2.do chmod 0440 /etc/sudoers
Which should look like -r--r----- 1 root root 5882 Nov 19 18:03 /etc/sudoers
3.chown root:root /usr/bin/sudo
4.chmod 4111 /usr/bin/sudo
5.chmod 0440 /etc/sudoers
6.chmod 0770 /var/bin/sudo/$USERNAME (note: you may have to use /var/run/sudo/$USERNAME if /var/bin does not exist)
7.Reboot the machine in runlevel-5. (type init 5)

Dadurch wird setuid auf root gesetzt und der sudo-Fehler behoben.

verwandte Informationen