Irgendeine Erholung davon? sudo chmod 600. *

8

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 lsoder cd ..ausführen. Ein Versuch cd /home/brianoder cd ~Geben des Fehlers bash: cd: /home/brian: Permission Deniedund jeder Versuch eines sudoBefehls 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 brianich 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.

Brian Jorden
quelle
Ohne Beschreibung, in welchem ​​Verzeichnis Sie sich befanden, waren Sie vermutlich /rootnicht drinnen , / als Sie dies getan haben (wie ich in Ihrer Frage sehe), was bedeutet, dass Ihr .*Glob den /rootOrdner 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.
Sergiy Kolodyazhnyy
Schätzen Sie die Gedanken und Rückmeldungen so oder so und werden Sie sie je nach dem, wie die Dinge laufen, berücksichtigen. Das ist wirklich nur albern. Ich werde den Haupttext mit Details darüber aktualisieren, von wo aus ich den Befehl ausgeführt habe (ein Teil davon, warum ich hier so verwirrt bin, weil es zu diesem Zeitpunkt nicht gefährlich schien)
Brian Jorden
4
Ich gehe davon aus, dass das .*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/briandie Berechtigungen von /homeauf 600 festgelegt worden, und Sie hätten es nicht getan Berechtigungen in die schauen /homeVerzeichnis. Können Sie in Ihrem offenen Terminal ausführenls -ld /*
Charles Green
2
Sie können versuchen, die Berechtigung wiederherzustellen, siehe askubuntu.com/questions/43621/… . Es gibt dort mehrere Skripte, aber ich habe auch eine Methode mit apt-get aus dem Wiederherstellungsmodus veröffentlicht (die ich Skripten vorziehe). Treffen Sie Ihre Wahl. Da Sie sudo nicht verwenden können, müssen Sie im Wiederherstellungsmodus starten. wiki.ubuntu.com/RecoveryMode stellen Sie sicher, dass Sie / rx erneut bereitstellen (siehe Wiki)
Panther

Antworten:

3

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 dann chmod +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.

Brian Jorden
quelle
1
Es hat wahrscheinlich das übergeordnete Verzeichnis beeinflusst, da es ..mit .*glob übereinstimmt .
Cthulhu
1
Ein weiterer Grund, eine Saner-Shell zu verwenden. zsh enthält beispielsweise standardmäßig nicht .oder ..in der Erweiterung .*von.
Muru
1

Das "Update" dafür war, in den Wiederherstellungsmodus zu booten, das Laufwerk als Lese- / Schreibzugriff erneut zu mounten, zum Hauptstamm (cd /) und dann zu chmod + rx zu wechseln. Nach einem Neustart scheint alles wieder in Ordnung zu sein normal.

Um für zukünftige Leser klar zu sein, die dies als akzeptierte Antwort finden könnten, gibt es Bedenken hinsichtlich der chmod +xLö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 +rwBerechtigung 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? ;-) )

dan_linder
quelle
1
Ging voraus und stimmte ab, weil es hier einige allgemein nützliche Ratschläge / Informationen gibt. In meiner besonderen Situation hatte ich das Glück, dass die einzigen Berechtigungen, die geändert wurden, direkt darin lagen /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.
Brian Jorden