![Sudo nicht möglich – Ubuntu 20.04](https://rvso.com/image/768929/Sudo%20nicht%20m%C3%B6glich%20%E2%80%93%20Ubuntu%2020.04.png)
Ein klassischer Fehler
Aus Versehen haben wir dies sudo chown -R ubuntu:www-data /
auf einem Ubuntu 20.04 AWS EC2-Server getan. Obwohl es viele Beiträge gibt, die darauf hinweisen, dass ich die Maschine nicht retten kann und eine neue installieren muss, möchte ich eine Kopie des Postgres erstellen, das auf diesem Server läuft. Derzeit können wir keinen Befehl mit einem Sudo ausführen. Daher konnten wir Postgres nicht starten oder uns über phppgadmin anmelden.
Wir haben Folgendes getan:
- Die Instanz wurde gestoppt
- Das Volume wurde abgetrennt
- Eine neue Instanz erstellt
- Anbei das Volumen
- Das Volume wurde gemountet
- In der neuen Instanz zu root geändert
- habe
chown -R root:root /mnt/rescue
(habe dies geändert inroot:ubuntu
,ubuntu:ubuntu
, usw.) - hat
chmod -R 4755 /mnt/rescue
(auch hat0755
,ug-s
usw.) - Root verlassen
umount /mnt/rescue
- Beenden Sie die Rettungsinstanz
- Trennen Sie das Volume
- Schließen Sie das Volume an die beschädigte Maschine an. Die Maschine zeigt den neuen Besitzer an – aber sudo funktioniert nicht.
- Wir haben versucht, eine neue Instanz zu erstellen, dieses korrigierte Volume anzuhängen, /etc/fstab zu aktualisieren und die Instanz neu zu starten. Wir haben das Volume mit der Maschine zusammengeführt. Nach dem Neustart immer noch das gleiche Problem – sudo nicht möglich.
Wir können die Maschine natürlich neu erstellen oder das Backup erstellen und wiederherstellen. Einige unternehmenskritische Daten befinden sich jedoch im Postgres. Wie führe ich sudo aus oder rufe Dateien aus einem toten Postgres ab?
Wir stehen ständig vor dem Fehler:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Wenn ich jedoch irgendwo innerhalb von /usr oder /usr/bin „ls -l“ ausführe, verbleibt der vollständige Besitz aller Dateien bei ubuntu:ubuntu oder anderen Kombinationen, die wir ausprobiert haben.
Antwort1
Versuchen Sie, das Setuid-Bit zu setzen und es für Root ausführbar zu machen. Dies ist die Standardberechtigung (rws) für sudo
chmod u+s /mnt/rescue/usr/bin/sudo
chmod +x /mnt/rescue/usr/bin/sudo
Dies könnte zwar hilfreich sein, um das System zu retten, es gibt jedoch viele andere Dateien und Verzeichnisse mit anderen Berechtigungen und Eigentümerschaften, und es kann mühsam sein, diese einzeln festzulegen.