Versehentlich hat "chmod -777 /"

7

Ich habe es versehentlich getan, chmod -777 /jetzt kann ich auf nichts zugreifen. Wenn ich einen Dialog neu starte, wird angezeigt, dass "Ihre Grafik auf niedrig gesetzt ist". Nachdem Sie "OK" gegeben haben, gibt es eine Option "Zum Anmeldebildschirm beenden", wenn ich diese Option auswähle leerer Bildschirm mit "-" oben.

Gibt es eine Möglichkeit, diesen Prozess rückgängig zu machen oder zumindest die Daten wiederherzustellen?

PS: Ich verwende Windows Vista und Ubuntu 13.04 (Dual Boot).

YasirAzzu
quelle
Hast du sudo chmod -R 777 /oder benutzt sudo chmod 777 /?
TuKsn
Wo haben Sie Tipps zum Gebrauch chmodmit 777?
Mateo
1
könnte verwandt sein: askubuntu.com/questions/43621/…
Mateo
1
Ich habe chmod -777 /
YasirAzzu
2
chmod -777ist wie chmod 000... obwohl es nicht im Handbuch steht. Fehler oder versteckte Funktion?
Rmano

Antworten:

5

Beachten Sie, dass chmod -777wie ist chmod 000. Das OP hat also wahrscheinlich nur die Berechtigungen des / Ordners geändert , nicht rekursiv, und er oder sie kann das System einfach mit einem wiederherstellen

chmod 755 /

von einem Wiederherstellungsstart. Starten Sie beispielsweise vom Installationsmedium, wählen Sie Ubuntu, öffnen Sie ein Terminal und gehen Sie zum Superuser ( führen Sie die folgenden Überprüfungen dreimal durch und erst, nachdem Sie verstanden haben, was Sie tun ).

sudo -i
mount /dev/yourrootpartitonhere /mnt
cd /mnt
chmod 755 .
cd ..
umount /mnt

Und normal neu starten, alles sollte in Ordnung sein.

Wenn Sie -R verwendet haben, erstellen Sie eine Sicherungskopie Ihrer Daten (siehe andere Antworten hier) und installieren Sie sie erneut.

Rmano
quelle
Hallo Rmano, danke für deine Antwort. Ich habe deine Anweisungen befolgt, aber es hat nicht funktioniert
YasirAzzu
Ich habe alles getan, was Rmano gesagt hat, ich habe keinen Fehler erhalten (außer nach 'chmod 755'. Ich habe 'cd ..', um aus mnt herauszukommen), nichts hat sich geändert. Ich
erhalte
Sind Sie sicher, dass Sie Ihre richtige Root-Partition gemountet haben?
Rmano
Ja, ich habe es richtig gemacht, ich habe die '/' Partition
gemountet
1
Wenn Sie von einem Wiederherstellungsmedium gestartet haben, ist die Partition '/' nicht die gewünschte Partition, sondern das Stammverzeichnis des Wiederherstellungsmediums. Sie müssen Ihre HD finden und die Wurzel Ihrer tatsächlichen HD finden, anstatt Ihre Wiederherstellungswurzel.
Daviewales
3

Danke für deine Antworten.

Ich habe Ubuntu 14.04 neu installiert, konnte jedoch meine Daten mithilfe einer Live-CD sichern.

Ich habe von einer Live-CD gebootet und chmod 777 / 'pathOfTheDirectory' gemacht.

Leg dich nicht mit Dingen an, in denen du nicht viel Wissen hast - Lektion gelernt.

YasirAzzu
quelle
1

Wenn Sie den Befehl ausgeführt haben chmod -777 /foo, kann er seltsame Funktionen haben. Höchstwahrscheinlich werden die Bits negiert, die Sie in der oktalen Negation von 777 übergeben (was 111111111 in binär ist, was wichtig ist), was tatsächlich nicht dargestellt werden kann, da chmodein 9-Bit-Satz für Dateiberechtigungen verwendet wird (1 Bit) pro Berechtigung zum Lesen, Schreiben, Ausführen * Eigentümer, Gruppe, Benutzer), eine vorzeichenlose Zahl (darf nicht negativ sein).

Nehmen wir an, Sie können vorzeichenbehaftete Zahlen (negative und positive Werte) darstellen. Wenn Sie das 2er-Komplement von 777 (0b111111111) finden, können Sie das genaue Verhalten (und die Nummer, an die Sie übergeben) des Befehls herausfinden:

 111111111
-000000000
----------
 111111111
+000000001
----------
1000000000 #this number will cause an overflow because it is 512
           #since our range is only -256 -> 255

Was bedeutet das alles? Sie sagten dem Kernel "Hey, machen Sie die Berechtigungen für diesen Ordner 1000000000". Der Kernel antwortete mit "Ok" und tat, was Sie fragten. Jetzt sind Ihre Dateisystemberechtigungen genau das --------- root root /. Dies alles setzt voraus, dass ich (und Ihr Kernel / Ihre CPU) die Mathematik korrekt durchgeführt haben.

Wiederherstellung

Die /Standardberechtigungen des Root-Dateisystems ( normalerweise) sind normalerweise 755. Der einfachste Weg, dies zu beheben, besteht darin, sich anzumelden und mit Ctrl+ zu tty zu wechseln F1(wodurch Sie zu tty1 gelangen, tty2-6 sind ebenfalls geöffnet, wobei tty7 der Speicherort ist der aktuellen X-Sitzung). Sie können sich als root anmelden (oder als normaler Benutzer, aber sudovor jedem der folgenden Befehle verwenden) und diesen Befehl ausführen:

chmod 755 /

Das sollte das Problem beheben, das Sie haben.

ChrisR.
quelle
Hallo ChrisR, danke für deine Antwort. Wenn sudo chmod 755 / ausgeführt wird, wird "sudo: effektive uid ist nicht 0, ist sudo setuid root installiert?" Als ich es ohne sudo versuchte, bekam ich "chmod: Ändern der Berechtigungen von '/': Operation nicht erlaubt".
YasirAzzu
Wenn Sie das root-Passwort kennen, können Sie einfach sudas root-Passwort eingeben und den Befehl als root ausführen.
ChrisR.
2
Sie können es erst verwenden, sudowenn Sie Ihre /Berechtigungen festgelegt haben. Daher müssen Sie dies in einer Wiederherstellungsumgebung tun.
Rmano
@ ChrisR Ich kenne kein Root-Passwort, gibt es so etwas wie ein Standard-Passwort
YasirAzzu
Wenn Sie es nie eingerichtet haben und sich Ihr System im aktuellen Zustand befindet, haben Sie zwei Möglichkeiten: 1) Laden Sie die Ubuntu Live-CD oder 2) Installieren Sie von Grund auf neu.
ChrisR.