Ich verwende seit einigen Wochen einen Raspberry Pi und habe viele Stunden damit verbracht, alles für mein Universitätsprojekt zu konfigurieren.
Ich wollte Samba installieren und alles als Netzwerkordner haben. Ich habe verwendet sudo chown -R pi:pi /
.
Jetzt ist mein Sudo kaputt und druckt sudo: effective uid is not 0, is sudo installed setuid root?
jedes Mal, wenn ich es ausführe (zum Beispiel sudo nano
).
Kann das repariert werden? Bitte helft mir, damit ich nicht ALLES neu installieren muss. Ich kann mich nicht einmal daran erinnern, was ich in den letzten Wochen gemacht habe ... so viel Arbeit.
Antwort1
Durch die Ausführung sudo chown -R pi:pi /
wurden grundsätzlich die Eigentumsrechte an allen Dateien auf Ihrem System zerstört.
Leider ist eine Neuinstallation in Ihrem Fall wahrscheinlich die einfachste Option. Es wäre sehr mühsam und fehleranfällig, zu versuchen, die richtigen Eigentümer manuell wiederherzustellen (vermutlich mit einem anderen Computer). Ich empfehle, vor der Neuinstallation ein Image des Speichers Ihres Raspberry Pi zu erstellen, damit Sie nach der Neuinstallation einige der vorgenommenen Änderungen wiederherstellen können.
Antwort2
Das setuid
Bit in einer ausführbaren Datei bedeutet, dass die betreffende Datei ihre effektive UID so ändern kann, dass sie der des besitzenden Benutzers statt der des aufrufenden/ausführenden Benutzers entspricht.
Durch die Ausführung sudo chwon -R pi:pi /
haben Sie dafür gesorgt, sudo
dass es dem Benutzer gehört pi
(UID ungleich Null). Bei sudo
der Überprüfung, ob die effektive UID auf 0 ( root
) geändert werden kann, wird angezeigt, dass dies nicht möglich ist, da es nicht root
mehr dem Benutzer gehört.
chown root:root
Sie können versuchen, das Problem durch erneute Ausführung zu reparieren sudo
. Möglicherweise wird Ihnen jedoch angezeigt, dass Sie hierfür nicht über die erforderlichen Berechtigungen verfügen. In diesem Fall ist eine Neuinstallation möglicherweise die einzige Möglichkeit.
Antwort3
Am einfachsten ist es, alle Dateien zu suchen und zu speichern, die in den „letzten Wochen“ geändert wurden, und sie anschließend neu zu installieren und die Änderungen erneut anzuwenden.
- Booten Sie eine Rettungsdiskette.
- Suchen und speichern Sie „kürzlich“ geänderte Dateien.
cd /mnt/root && tar czvf /mnt/usb/tarball.tgz --newer-mtime='2015-10-01 00:00:00' .
Stellen Sie sicher, dass es/mnt/root
sich dabei um das Stammverzeichnis Ihres Pi-Systems und nicht um das Stammverzeichnis der Rettungsdiskette handelt und dass/mnt/usb
sich dieses an einem sicheren Ort befindet, z. B. auf einem USB-Stick. - Neu installieren
- Stellen Sie die sorgfältig gespeicherten Dateien wieder her -
cd / && tar xzvf /root/tarball.tgz
- Neustart