Wenn ich renne:
sudo chown -R user:user /
Kann ich es auf das zurücksetzen, was es war, bevor ich es ausgeführt habe?
command-line
permissions
chown
Fronthem
quelle
quelle
sudo chown -R user:user ..
kann dieselbe Wirkung haben wie der hier erwähnte, wenn Sie sich eine Ebene unterhalb des Stammverzeichnisses des Dateisystems befinden. Versuchen Sie nicht so etwas.Antworten:
Kurz gesagt: nein.
Sie müssen von einem Backup wiederherstellen. (Einige Sicherungstools verfügen möglicherweise über Optionen, mit denen nur Berechtigungen wiederhergestellt werden können, andere können gesicherte Dateien mit ihren Berechtigungen auflisten und Sie können diese verwenden, um Ihr System zu reparieren.)
Wenn Sie kein Backup haben, müssen Sie dies alles manuell beheben.
quelle
sudo chown -R user:user /
ist das System wahrscheinlich so stark ausgelastet, dass Sie es nicht aus einem Backup wiederherstellen können .chown
beschriebenen Schritte ausgeführt haben , ist es wahrscheinlich, dass Sie keine weiteren Schritte ausführen können, bevor Sie das gesamte System von Grund auf neu installiert haben. Das System hat noch nicht einmal einenroot
Account undsudo
funktioniert auch nicht. Es lohnt sich wahrscheinlich, zu versuchen, von einer Einzelbenutzershell zu booten, aber Sie können nicht erwarten, dass dies funktioniert.sudo
oder sogarsu
, wenn alle relevanten Dateien im Besitz von sind, weiterhin funktionieren wird,user
ist eine andere Sache (wahrscheinlich nicht, weil unter anderem das SUID-Bit auf der Exe weg sein wird).Nur wenn Sie den Benutzer- und Gruppenbesitz jeder Datei und jedes Verzeichnisses in Ihrem
/
Verzeichnis kennen.Selbst dann haben Sie bereits das Eigentum an kritischen Systemdateien blockiert, deren Eigentümer root sein muss, einschließlich des
sudo
Befehls. Möglicherweise müssen Sie die Festplatte auf einem anderen System einbinden - und beachten Sie, dass das andere System möglicherweise nicht die gleichen UID- und GID-Zuordnungen aufweist wie das, das Sie gerade überlastet haben.Erstellen Sie nach Möglichkeit eine Kopie der gesamten Festplatte und installieren Sie dann Ihr Betriebssystem neu. Sobald Sie dies getan haben, können Sie versuchen, Dateien auf das neu gelöschte System zurück zu kopieren und deren Eigentümer wiederherzustellen. Sie können wahrscheinlich davon ausgehen (wenn auch nicht zu 100% zuverlässig), dass alles unter dem
/home/foo
Benutzerfoo
gehört und dass jede Mail-Spooldatei/var/mail
dem entsprechenden Benutzer gehört (wenn Sie E-Mail auf dem System haben). Sie können wahrscheinlich davonkommen, ohne die meisten Dateien wiederherzustellen, die nicht darunter liegen/home
, je nachdem, was Sie mit dem System gemacht haben.Und dann pflegen Sie die Angewohnheit, jeden Befehl, unter dem Sie laufen, noch einmal zu überprüfen,
sudo
bevor Sie ihn treffen Enter.quelle
Wenn Ihre Distribution RPM-basiert ist, können Sie NUR Dateien wiederherstellen, die von RPM-Paketen installiert wurden.
So stellen Sie alle Paketberechtigungen wieder her:
So stellen Sie alle Paketbesitzer (Benutzer / Gruppe) wieder her:
Wenn -a nicht ausgeführt wird, können Sie eine Bash-Schleife ausführen:
Für Berechtigungen:
Für den Besitzer:
Auszug aus: http://www.sysadmit.com/2016/10/linux-restaurar-permisos-de-un-paquete.html
quelle
Sie können die aktuellen Versionen speichern und diese dann mit der Option -v auswerten, um sie wiederherzustellen.
Der Inhalt wäre:
Mit Ihrer bevorzugten Skriptsprache und regulären Ausdrücken können Sie den schmerzhaften Vorgang des Zurücksetzens ausführen (falls erforderlich).
Ich würde dringend empfehlen , auf / kein rekursives Chowning durchzuführen, da Sie / etc / shadow oder eine andere wichtige Datei verfügbar machen.
quelle
Wenn die Distribution auf U / min basiert:
quelle