/usr/bin/sudo muss der uid 0 gehören und das setuid-Bit gesetzt haben

Ich habe versehentlich folgenden Befehl ausgeführt

sudo chown [username] -hR /

Jetzt bekommt sudo su einen Fehler:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

Wie kann man das Problem lösen?

Wie Sie in dieser Antwort auf SO lesen werden, ist dieses Problem nicht so schwer, wie die Leute es darstellen. Ich habe den "sudo"-Befehl wieder zum Laufen gebracht, ohne eine Neuinstallation, indem ich diese einfachen Schritte befolgt habe:

  1. Melden Sie sich als aktueller Benutzer ab und melden Sie sich dann wieder als root an.
  2. Führen Sie chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo aus.
  3. Melden Sie sich als root ab und melden Sie sich dann als aktueller Benutzer wieder an.

Das funktioniert und ist viel schneller und weniger schmerzhaft als die in anderen Antworten empfohlene "nukleare Option".

Wenn Ihr Root-Passwort nicht festgelegt ist, können Sie im Wiederherstellungsmodus booten, um es festzulegen.

Kommentare (9)
Lösung

Sichern Sie Ihre Daten und installieren Sie neu.

Das sieht wahrscheinlich extrem aus, aber es ist nicht nur sudo. Sie haben die Berechtigungsstruktur Ihres gesamten Dateisystems zerstört. Einige der anderen Antworten können sudo zum Laufen bringen, aber wenn Sie das ganze Problem ignorieren, laden Sie eine spätere Katastrophe ein.

Sie könnten versuchen, die Besitzer einer anderen Installation zu spiegeln, aber es gibt Fälle (z.B. /var/), die stark davon abhängen, was Sie tatsächlich installiert haben. Wenn Sie einen Überblick über das Problem bekommen wollen, ich habe schon einmal versucht, jemandem zu helfen, diese Art von Problem zu lösen. Die Behebung ist manuell, langwierig und könnte Ihr System leicht unsicher oder kaputt machen.

Sich durch dieses Chaos zu wühlen, wird erheblich länger dauern als eine Neuinstallation.


Es gab einige Vorbeifahrten von Leuten, die den Ernst der Lage hier nicht verstehen. Für sie sieht es aus wie ein großer Haufen unnötiger Arbeit, die Art von Dingen, die ein unseriöser Klempner oder Mechaniker sagt, um Sie für einen größeren Auftrag zu gewinnen.

Wenn Sie nur die Berechtigungen von /usr/bin/sudo geändert haben, sollten Sie das auf jeden Fall ändern. In dieser Frage geht es aber um eine totale Systemänderung. Jede Datei (außer den reinen Laufzeitdateien) gehört jetzt dem Benutzer. Alles, was der Benutzer ausführt (z.B. Browser, Browser-Exploits) könnte dann Systemdateien überschreiben, Sie ausspionieren, Daten extrahieren. Dies muss korrigiert werden. Wie oben erwähnt, ist dies schwierig. Der einfachste Weg ist eine Neuinstallation.

Seien Sie also bitte in dieser Hinsicht nicht faul. Dateisystemberechtigungen helfen Ihnen, sich zu schützen, korrigieren Sie sie.

Kommentare (12)

Wenn Sie kein vollständiges Backup haben, ist eine Neuinstallation wahrscheinlich das Beste, was Sie zu diesem Zeitpunkt tun können.

Bedenken Sie, dass Sie den Besitz aller Dateien auf denselben Benutzer geändert haben, was das Sicherheitsparadigma Ihres Systems völlig durcheinander bringt....

Wenn Sie diese Seite durchsuchen, finden Sie eine Menge ähnlicher Probleme mit chmod, wie zum Beispiel https://askubuntu.com/questions/265080/how-can-i-recover-from-chmod-r-a-wrx-command

Kommentare (0)