Ich habe versehentlich den /var
Besitzer / die Gruppe in meinen Benutzernamen geändert und ihn dann wieder in den Stammordner geändert, aber nicht alle /var
Besitzer der Ordner sind root. Gibt es also eine Möglichkeit, den Besitzer / die Gruppe von Dateien / Ordnern in den Standardzustand zurückzusetzen? Oder zumindest die Dateien / Ordner, die von Paketen erstellt werden?
permissions
chown
Sepehr
quelle
quelle
chown
Befehl? und wäre geschlossen worden.Antworten:
Ähnlich wie bei einer der obigen Antworten können Sie mit den folgenden beiden Befehlen Berechtigungen für das Verzeichnis / var wiederherstellen, wenn Sie eine Kopie des Verzeichnisses mit den korrekten Berechtigungen "var" in Ihrem lokalen Verzeichnis haben.
quelle
Die einfachste (und wahrscheinlich richtigste) Antwort lautet "Sie können nicht". Wenn Sie es jedoch versuchen möchten, finden Sie hier ein Bash-Skript, das die Berechtigungen von Dateien unter / var korrigiert, die zu .deb-Paketen gehören.
ANMERKUNGEN:
Das Skript erstellt eine Liste der installierten Pakete, die Dateien in var enthalten, lädt diese Pakete herunter und ermittelt anschließend mithilfe
dpkg-deb -c
von die erforderlichen Berechtigungen.Der schwierigste Teil war das Schreiben der Funktion zum Konvertieren der Berechtigungszeichenfolge (wie von
ls -l
oder angezeigttar v
) in einen oktalen numerischen Modus, einschließlich der Berücksichtigung von setuid-, setgid- und sticky-Bits. Einige Dinge, die mit einem netten Algorithmus leicht zu schreiben wären In Perl gibt es beispielsweise zu viele Probleme mit Bash, sodass es einfacher ist, es einfach mit roher Gewalt zu erzwingen.Schließlich wird das Skript so geschrieben, dass es sich im "Debug-Modus" oder "Probelauf" befindet. Um den Eigentümer / die Gruppe / die Dauerwelle tatsächlich zu ändern, kommentieren oder löschen Sie die beiden Zeilen mit den
__EOF__
hier angegebenen Dokumentmarkierungen.Das Skript könnte natürlich ganz einfach angepasst werden, um Perms für gepackte Dateien in einem anderen Verzeichnis oder in allen Verzeichnissen zu reparieren.
Dieses Skript wäre viel einfacher gewesen, wenn die $ packagename.list-Dateien
/var/lib/dpkg/info
Eigentümer-, Gruppen- und Oktal-Perms sowie den Dateinamen hätten ... aber das tun sie nicht.quelle
dpkg -S /var
. Außerdem muss nach dem Anwenden dieses Skripts überprüft werdendpkg-statoverride --list '/var/*'
.dpkg -S
langsam (weshalb ich geschrieben habedlocate
). Guter Punktdpkg-statoverride
aber .... und das Ausgabeformat ist perfekt.Du könntest.
Installieren Sie dieselbe Distribution auf einem anderen Computer oder einer VM und
chmod --refer
synchronisieren Sie die Berechtigungen für/var
quelle
Die einfache Antwort lautet "Sie können nicht".
Aber ... wenn Sie ein Dateisystem wie JFS haben, das ein Protokoll hat, können Sie es mit seinen Werkzeugen wiederherstellen. Bei einigen Paketmanagern können Sie die Pakete neu installieren und auf diese Weise möglicherweise den Eigentümer Ihrer Dateien wiederherstellen.
Eine andere Möglichkeit, die jedoch umständlicher ist, besteht darin, dass Sie / var auf einem anderen Gerät einbinden können und die Programme dann das fehlende Verzeichnis neu erstellen.
quelle