
Ich habe dd
ein Backup des gesamten Systems erstellt und möchte es auf einem neuen (verschlüsselten) Laufwerk wiederherstellen. Ich habe erfolgreich rsync -ad
Dateien und Berechtigungen für das neu erstellte ext4-Dateisystem wiederhergestellt (ich habe es erfolgreich gebootet und verwende es, um dies zu schreiben), aber ich kann nicht auf Geräte zugreifen, die unter gemountet sind /media/username
(sagen wir, ich klicke im Dateimanager auf eine Partition, um sie zu mounten). Dieses Verzeichnis und die Mount-Punkte gehören root:root
. Die Berechtigungen bekannter Dateien (z. B. Dinge in /home
) sind korrekt eingestellt, daher gehe ich davon aus, dass auch vor dem Backup . /media/*
gehörte root
. Ich vermute, es gibt ein Problem mitACLS.
- Gibt es eine Möglichkeit zur WiederherstellungACLs ohne alles ein zweites Mal kopieren zu müssen? (Ich habe festgestelltDasAnleitung, aber es heißt, dass es nicht zuverlässig ist. Ich weiß nicht, ob das für meinen Anwendungsfall gut ist. Außerdem muss ich die Linux-Eigentümerschaft und -Berechtigungen nicht wiederherstellen, das sollte bereits richtig sein und ich möchte es nicht kaputt machen. Vielleicht ist
-s
die Option vongetfacl
das, was ich brauche?) - Fehlt noch etwas
rsync
und muss es wiederhergestellt werden? - Wenn das Speichern nicht möglich ist und ich alles erneut kopieren muss, was soll ich dann verwenden? Ich habe die Anleitung befolgt und den verwendeten
tar
Befehl verwendet, aber das Weiterleiten von zweitar
Befehlen war wirklich langsam.
ich benutzeLinux Mint 19.3.
edit: Ich habe Backup ( /mnt/
) geprüft, ich habe Recht, ACLs sind gesetzt:
sudo getfacl /mnt/media/username/
getfacl: Removing leading '/' from absolute path names
# file: mnt/media/username/
# owner: root
# group: root
user::rwx
user:username:r-x
user:libvirt-qemu:--x
group::---
mask::r-x
other::---
edit2: Ich habe einige Änderungen vorgenommen, seit ich alles kopiert habe, daher würde ich eine Methode bevorzugen, die den Inhalt von Dateien nicht überschreibt.
Antwort1
Lösung, die bei mir funktioniert hat (wenn Sie nur ACLs und Berechtigungen wiederherstellen, aber keine Dateien ändern möchten):
cd /path/to/backup # so that saved paths would be relative to backed up root
getfacl -R . > ~/facl.bak
cd /
setfacl --restore=/root/facl.bak
Antwort2
Sie können rsync -avX
anstelle von verwenden rsync -ad
. Dadurch sollten alle fehlenden ACLs angewendet werden, ohne den Dateiinhalt erneut zu kopieren.
Fügen Sie das -u
Flag hinzu, um zu verhindern, dass geänderte Dateien aktualisiert werden, und --existing
um zu verhindern, dass neue Dateien erstellt werden (beispielsweise wenn Sie sie im Ziel gelöscht haben).