WARNUNG - DO NOT RUN Die genannten COMMAND
Es scheint also, dass ich hier etwas ziemlich Dummes getan habe, um es milde auszudrücken. Ich habe versucht, die Berechtigungen für einige Dateien in einem Verzeichnis zu ändern, mit dem alles begann .
, nur für sudo / root zu lesen / schreiben.
Mein Versuch, mehrere Dateien gleichzeitig zu ändern, scheint etwas schrecklich Globales bewirkt zu haben. Während sudo chmod 600 .*
ich mich in einem Verzeichnis befand (nicht im Stammverzeichnis), lief ich und nun, ich poste dies jetzt von meinem Telefon aus ... Ich habe das Terminalfenster im Moment noch geöffnet, bin mir aber ziemlich sicher, ob der Laptop funktioniert Zum Schlafen bin ich fertig. Komischerweise bedeutet dies, dass diese Frage eine leichte Dringlichkeit hat.
Oh, und das scheint die Berechtigungen fast überall geändert zu haben, wo ich vermute. Ich kann nicht einmal die Befehle ls
oder cd ..
ausführen. Ein Versuch cd /home/brian
oder cd ~
Geben des Fehlers bash: cd: /home/brian: Permission Denied
und jeder Versuch eines sudo
Befehls sagt nurbash: /usr/bin/sudo: Permission Denied
Ich habe Angst vor einem Neustart, keine Ahnung, ob es eine eingebaute Wiederherstellung von etwas so Dummem gibt, aber ich dachte, ich würde versuchen, hier zu fragen, bevor ich die Dinge noch schlimmer mache. Ich bin ein ziemlich neues Linux als mein Hauptbetriebssystem und habe mich in letzter Zeit ein bisschen dafür ausgesprochen, aber autsch, dieses sticht ein bisschen. Alle Gedanken an Dinge zu versuchen wäre sehr dankbar.
EDIT: Ich wollte klarstellen, wie / wo dieser Befehl ausgeführt wurde. Dies wurde /.atx $
nur aus einem beliebigen Verzeichnis ausgeführt, aber weitere Details unten.
Während brian
ich als mein regulärer Benutzername angemeldet war , hatte ich ein Terminal geöffnet /.atx
, das drei Nur-Text-Dateien vom Typ Konfiguration enthielt. Jeder Dateiname begann mit einem .
. Dieses Verzeichnis / Name / die Dateien sind kein Teil eines gemeinsamen Pakets, sondern nur eine beliebige Reihe von Konfigurationen, die ich programmgesteuert verschoben habe. Dateien enthielten einige Informationen zu SQL Server-Verbindungszeichenfolgen und wollten nur, dass sie halb verdeckt sind.
quelle
/root
nicht drinnen ,/
als Sie dies getan haben (wie ich in Ihrer Frage sehe), was bedeutet, dass Ihr.*
Glob den/root
Ordner selbst (die.
Verweise auf das aktuelle Arbeitsverzeichnis) zusammen mit allen Dateien / Verzeichnissen erfasst hat das beginnt mit dem führenden Punkt. Sie sind sich nicht sicher, ob es eine Möglichkeit gibt, es von Ihrem System aus zu ändern, aber Sie könnten wahrscheinlich von einem Live-USB-Gerät booten und die Dinge von dort aus rückgängig machen. Nehmen Sie es jedoch nicht als 100% ige Antwort, sondern nur als Gedanken..*
in Ihrem Befehl erweiterte Element..
das übergeordnete Verzeichnis des Verzeichnisses enthält, in dem Sie sich befanden. Wenn Sie sich beispielsweise in dem Verzeichnis befanden, wären/home/brian
die Berechtigungen von/home
auf 600 festgelegt worden, und Sie hätten es nicht getan Berechtigungen in die schauen/home
Verzeichnis. Können Sie in Ihrem offenen Terminal ausführenls -ld /*
Antworten:
Puh, die Erholung hier verlief tatsächlich reibungsloser als ich erwartet hatte und alles scheint wieder in einem ziemlich guten Zustand zu sein.
Vielen Dank an @CharlesGreen für die Erklärung, wie dieser Befehl ein Verzeichnis erweitert hat. Vielen Dank auch an @Panther für Informationen zum Aufrufen des Wiederherstellungsmodus für ein etwas verwandtes Problem. (Wenn Sie beide Ihre Kommentare als Antworten erneut teilen möchten, würde ich sie positiv bewerten.)
Glücklicherweise scheint dies im Gegensatz zum verlinkten Beitrag eine sehr einfache Lösung gehabt zu haben. Es scheint , als ich das lief
sudo chmod 600 .*
Befehl nur ein Verzeichnis unter/
dem erweiterten.*
Abschnitt bis zur wahren Stammverzeichnis Ändern Berechtigungen.
von/
verursachen jede andere Erlaubnis umfallen.Die "Lösung" dafür bestand darin, in den Wiederherstellungsmodus zu booten, das Laufwerk als Lese- / Schreibzugriff erneut zu mounten, zum Hauptstamm (
cd /
) zu wechseln und dannchmod +rx .
. Nach einem Neustart scheint alles wieder normal zu sein.Die Moral der Geschichte, das Ausführen eines Befehls für
.*
kann sich zumindest manchmal auf das Verzeichnis ÜBER dem aktuellen auswirken. Ich hatte vor, nur Dateien zu beeinflussen, die mit.
... oops begannen .Vielen Dank an alle, die kommentiert und geholfen haben.
quelle
..
mit.*
glob übereinstimmt ..
oder..
in der Erweiterung.*
von.Um für zukünftige Leser klar zu sein, die dies als akzeptierte Antwort finden könnten, gibt es Bedenken hinsichtlich der
chmod +x
Lösung als allgemeine Lösung. Diese spezielle Frage scheint das Basisverzeichnis des Benutzers gewesen zu sein, daher sind einige der folgenden Bedenken möglicherweise gering. Wenn dies jedoch auf einen Geschäftsserver angewendet wurde und mehrere Benutzer oder andere Datenverzeichnisse betraf, wird die Lösung nicht vorgeschlagen.Positiv zu vermerken ist , dass der Benutzer durch diesen Schritt wieder auf die Dateien zugreifen kann, damit diese auf ein Sicherungsmedium kopiert werden können, um weiteren Verlust zu vermeiden. Und am Ende des Tages ist dies das Hauptziel bei jeder Datenwiederherstellung.
Die größte Sorge ist, dass auf die Originaldateien möglicherweise bestimmte Berechtigungen angewendet wurden, die jetzt fehlen. Einige Programme - insbesondere ssh - erzwingen Dateiberechtigungen, um ihre Sicherheit weiter zu gewährleisten, und funktionieren nicht, wenn die
+rw
Berechtigung für den Ordner und die Dateien festgelegt ist.Ein weiteres Problem besteht darin, dass, wenn dies
/
rekursiv auf den Ordner root ( ) angewendet wird, andere Dateien geöffnet sein können, die von jedem im System angezeigt und geändert werden können. In einer Geschäftsumgebung, in der der Server möglicherweise vertrauliche Daten enthält (PCI- / Finanz- oder Gesundheits- / HIPAA-Informationen), kann dieser Zugriff zu Prüfungsergebnissen und Auswirkungen führen.In einer persönlichen / häuslichen Umgebung ist diese Wiederherstellung wahrscheinlich vollkommen akzeptabel. Beachten Sie nur, dass einige Dinge möglicherweise stillschweigend kaputt sind oder sich seltsam verhalten.
In einer Geschäftsumgebung kann die Verwendung dieser Wiederherstellung verwendet werden, um den Zugriff auf die Daten wiederherzustellen. Letztendlich sollte jedoch jede dramatische Änderung wie diese behoben werden, indem der Server neu installiert und von einer Sicherung wiederhergestellt wird.
( Sie haben ein aktuelles Backup, nicht wahr? ;-) )
quelle
/
und nicht rekursiv in andere Verzeichnisse kaskadierten. Erwähnenswert ist auch, dass dies nur auf meinem persönlichen Laptop war und obwohl ich möglicherweise einen Teil der Arbeit eines Tages verloren habe (noch keinen Git-Push ausgeführt habe), wäre es nur ein großer Aufwand und Ärger gewesen, meinen "Benutzer" neu zu installieren Anwendungen. Wäre es ein Server jeglicher Art gewesen, würde ich im Allgemeinen zustimmen, weniger Zeit und Mühe, nur zu löschen / neu zu erstellen.