Berechtigung für „sudo“ nach „sudo chmod 666 /usr“ verweigert

Berechtigung für „sudo“ nach „sudo chmod 666 /usr“ verweigert

Ich habe einen großen Fehler gemacht und kann jetzt auf meiner Arbeitsstation nichts mehr tun. Ich habe versucht, VirtualBox zu starten, und es hat sich beschwert, dass /usr Ausführungszugriff hat. Dann habe ich fälschlicherweise sudo chmod 666 /usr ausgeführt und jetzt kann ich „sudo“ nicht mehr ausführen.

Ich habe unsere technische Abteilung gefragt und sie sagen, dass Ubuntu kein Passwort für Root hat, sodass sie keine Lösung für meinen Fehler sehen, sondern Ubuntu erneut installieren können, was bedeuten würde, dass ich meine ganze Arbeit verlieren würde.

Ich hoffe, dass einem von Ihnen eine Lösung für dieses Problem einfällt. Was sollte ich Ihrer Meinung nach tun, um wieder Zugriff auf /usr zu erhalten oder Root-Benutzer zu werden?

Antwort1

Wenn Sie sudo chmod 666 /usrdies gerade getan haben, ist die Sache nicht so schlimm, da dadurch nur die Berechtigungen für das übergeordnete Verzeichnis geändert wurden /usr, nicht für die Dateien in den darin enthaltenen Unterverzeichnissen.

Wenn Sie jedoch das rekursive Flag hinzugefügt haben -R, ist es mit ziemlicher Sicherheit besser, das System neu zu installieren. Trotzdem,Es sollte keinen Grund für Datenverlust geben: Sie können von einem Live-USB-Stick oder einer Live-DVD booten und Ihre wichtigen Dateien zunächst von dort sichern.

WennSie haben nur eine nicht-rekursive Version sudo chmod 666des /usrVerzeichnisses erstellt und haben physischen Zugriff auf die Maschine. Die einfachste Lösung sollte sein:

  1. Booten Sie über das erweiterte Grub-Menü in den Wiederherstellungsmodus und wählen Sie „Drop to root shell“
  2. Mounten Sie das Dateisystem erneut im Lese-/Schreibmodus

    mount -o remount,rw /
    
  3. Führen Sie den Befehl aus

    chmod 755 /usr
    

    Nichtfügen Sie weitere Kommandozeilenoptionen hinzu undnichtVerwenden Sie beliebige Shell-Platzhalter.

  4. Geben Sie ein exit, um den Bootvorgang normal fortzusetzen


Beachten Sie, dass chmod„lebt in /bin“ und nicht /usr/bin„lebt“ bedeutet, daher sollte es nicht von den Berechtigungen für betroffen sein /usr. Wenn Sie beispielsweise die Berechtigungsbits für das /binVerzeichnis oder für das /Verzeichnis selbst ändern würden, wäre diese Methode nicht geeignet, da Sie nicht aus dem Wiederherstellungsmodus ausführen könnten chomd. Die beste Option in diesem Fall wäre wahrscheinlich, eine Live-CD/DVD/USB einer beliebigen verfügbaren Linux-Distribution zu booten (es muss nicht Ubuntu sein), das Root-Gerät des defekten Systems zu identifizieren und zu mounten ( /mntbeispielsweise unter im Live-System) und dann chmod 755 /mnt/usrvom Live-System aus auszuführen.

Antwort2

Ihr Befehl hat möglicherweise das SUID-Bit aus /usr/bin/sudo entfernt. Die richtigen Berechtigungen sollten sein:

-rwsr-xr-x 1 root root 136808 Aug 17 15:20 /usr/bin/sudo

Du solltest dir eine Recovery-CD besorgen, wie in den Kommentaren oben erwähnt, und die Schritte im Abschnitt "Finden deiner Root-Partition" befolgen. Nachdem du sie erfolgreich gemountet hast, setze das SUID-Bit mit: chmod 4755 /usr/bin/sudo

verwandte Informationen