Versehentlich Befehl ausgeführt
sudo chmod -R o+x /home
auf meinem Ubuntu 12.10.
Was soll ich jetzt tun? Ist das gefährlich? Ich habe keine Sicherungskopie der Partition, daher glaube ich, dass dieser Befehl nicht umkehrbar ist. Soll ich also wegen dieses Fehlers das ganze System neu installieren?
Antwort1
Die beste Lösung für dieses Problem hängt von den Details der Einrichtung Ihres Systems ab. Glücklicherweise kennen Sie diese Details wahrscheinlich.
Auf Dateien +x
bedeutet, dass sie wie ein Programm ausgeführt werden können. (Eigentlich erteilt es die Berechtigung,versuchen. Wenn es sich nicht um tatsächlich ausführbare Binärdateien oder Skriptdateien handelt miteine Hashbang-Zeile, dies wird trotzdem fehlschlagen.)
Bei Verzeichnissen (also Ordnern)+x
Erlaubnisbedeutet etwas anderes. Ausführbare Berechtigungen für einen Ordner verleihen die Möglichkeit, den Ordner und seine Unterordner zu betreten (obwohl die Unterordner möglicherweise nicht die erforderlichen Berechtigungen dafür haben) und zu versuchen, auf Dateien im Ordner zuzugreifen (die Dateien können Berechtigungen haben, die dies ermöglichen, aber das muss nicht sein).
Das war o+x
. o
steht fürandere. Dadurch werden die Berechtigungen von Benutzern gesteuert, denen die Datei oder der Ordner nicht gehört und die auch keine Mitglieder der „Gruppeneigentümerschaft“ der Datei oder des Ordners sind.
Wenn Sie derzeit keine Berechtigungen zum Teilen von Dateien mit anderen lokalen Benutzern verwenden
Wenn ein Benutzer (z. B. Sie) keine Dateien mit anderen Benutzern teilen muss, können Sie die Ausführungsberechtigungen fürandere, solange du es nur tustüberall in Ihrem Home-OrdnerIhr Home-Ordner ist, wo/home/username
username
wird durch Ihren tatsächlichen Benutzernamen ersetzt. /home
ist nicht selbst Ihr Home-Ordner, sondern der Ordner, derenthältalle Home-Ordner. Da /home
es selbst keinem menschlichen Benutzer des Computers gehört,Es ist zwingend erforderlich, dass die ausführbaren Berechtigungen füranderenicht von sich selbst entfernt werden /home
.
Sie können also Folgendes ausführen:
cd ~
~
stellt Ihren Home-Ordner dar. (Die Shell interpretiert es so, Sie können genau das eingeben.)
Dann können Sie Folgendes ausführen:
chmod -R o-x .* *
Oder wenn Sie verhindern möchten, dass andere auch in Ihren Home-Ordner selbst wechseln:
chmod -R o-x ~
Ich habe absichtlich nicht geschrieben sudo
. Die Dateien in Ihrem Home-Ordner gehören Ihnen noch immer, Sie brauchen also nicht sudo
, und wenn Sie es weglassen, vermeiden Sie versehentliche Änderungen der Berechtigungen für die falschen Dateien und Ordner. (Insbesondere /home
gehört , root
also stellen Sie durch Weglassen von sudo
sicher, dass Sie nicht versehentlich die Berechtigungen für ändern /home
und Ihr System unbenutzbar machen.)
Wenn duTunDerzeitige Berechtigungen zum Teilen von Dateien mit anderen lokalen Benutzern verwenden
Wenn Sie einige Ordner haben, die Sie mit anderen Benutzern auf dem Computer teilen (wenn ja, dann wissen Sie es mit ziemlicher Sicherheit), können Sie die obige Methode verwenden und dann manuell Ausführungsberechtigungen für diese bestimmten Ordner hinzufügen. Wenn Sie jedoch zu viele haben, als dass dies praktisch wäre, und Sie sich keine Sorgen machen, dass andere Benutzer auf Dinge zugreifen, die sie nicht haben dürfen, sollten Sie Folgendes tun:Nurentziehen Sie die Ausführungsberechtigungen vonDateienund nicht vonOrdner.Anschließend können Sie natürlich selektiv die Ausführungsberechtigungen für einige Ordner entziehen.
So entziehen Sie die Ausführungsberechtigung füranderevon allenDateienFühren Sie in Ihrem eigenen Benutzer-Home-Ordner, aber nicht in den Verzeichnissen, Folgendes aus:
find ~ -type f -exec chmod o-x \{\} \;
(Sie werden feststellen, dass dies ähnlich ist wieSEngstroms Vorschläge. Sehenman find
für Informationen zur Funktionsweise.)
Antwort2
Sie haben gerade die Dateiberechtigungen aller Benutzerdateien für alle Benutzer auf „ausführbar“ geändert (und die Verzeichnisse auf „durchsuchbar“, was die Standardeinstellung ist) – wahrscheinlich nicht das, was Sie wollen, aber wahrscheinlich auch nicht das Ende der Welt – insbesondere, wenn Sie der einzige Benutzer auf dem Computer sind.
find
Sie könnten beispielsweise dies in Dokumentverzeichnissen tun und das Ausführbare-Flag für normale Dateien deaktivieren, wenn es Sie dort stört.
Wenn das System neu ist, würde ich vielleicht eine Neuinstallation in Betracht ziehen, nur um es schön sauber zu bekommen :)