Restic: Durch das Wiederherstellen mit --include werden auf dem Weg nach unten Verzeichnisse mit falschen Berechtigungen erstellt.

Erstellt am 31. Okt. 2017  ·  5Kommentare  ·  Quelle: restic/restic

Ausgabe von restic version

Restic 0.7.3
kompiliert mit go1.9 unter linux / amd64

Wie bist du genau restic gelaufen?

Siehe Details unten

Welches Backend / Server / Service haben Sie verwendet?

Client: Debian Stable (9.2)
Server: FreeBSD 11.1-Server im LAN mit OpenSSH (OpenSSH_7.2p2, OpenSSL 1.0.2k-freebsd 26. Januar 2017)

Erwartetes Verhalten

Alle Verzeichnisse sollten mit den ursprünglichen Berechtigungen und Eigentumsrechten erstellt werden, auch wenn Sie nur Dateien wiederherstellen, die sich tief in der Hierarchie befinden.

Tatsächliches Verhalten

Beim Wiederherstellen von Dateien, die tief in der Hierarchie liegen, werden die Verzeichnisse auf dem Weg nach unten mit einem anderen Benutzer und einer anderen Berechtigung wiederhergestellt als auf dem Original.

Schritte zum Reproduzieren des Verhaltens

mkdir testdir # Verzeichnis erstellen
Berühren Sie testdir / testfile #, um eine Datei darin zu erstellen
chmod 755 testdir testdir / testfile # Stellen Sie sicher, dass die Berechtigungen 755 sind
su # wechsle zu root
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest backup testdir # erstellt das Backup
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest Wiederherstellen der neuesten -t testrestore -i Testdatei # Wiederherstellen der Datei (nicht des gesamten Verzeichnisses)
ls -lR testrestore # Die Datei wird mit dem richtigen Eigentümer und den richtigen Berechtigungen wiederhergestellt. Die Verzeichnisse auf dem Weg zur Datei werden jedoch mit dem Benutzer 'root' und den Berechtigungen 700 wiederhergestellt.
testrestore /:
Treffen 4
drwx ------ 2 root root 4096 Okt 31 21:30 testdir

testrestore / testdir:
Treffen 0
-rwxr-xr-x 1 Rakor Rakor 0 Okt 31 21:25 Testdatei

Haben Sie eine Idee, was dies verursacht haben könnte?

Ich würde denken, dass Verzeichnisse auf dem Weg nach unten nicht "wiederhergestellt", sondern nur mit "sicheren Standardeinstellungen" "erstellt" werden.

Haben Sie eine Idee, wie Sie das Problem lösen können?

Stellen Sie die leeren Verzeichnisse wieder her, anstatt sie nur zu erstellen.

restore bug

Hilfreichster Kommentar

Für mich sieht dies definitiv nach einem Fehler / Problem in der Wiederherstellungsfunktion aus. Wenn ich Daten, die ursprünglich einem Benutzer gehörten, in einem Verzeichnis wiederherstelle, auf das dieser Benutzer zugreifen kann, erwarte ich, dass dieser Benutzer auf die wiederhergestellten Daten zugreifen kann, auch wenn nur ein Teil wiederhergestellt wurde. Das Wiederherstellen von Verzeichnisattributen (Eigentümer / Zugriff / usw.) scheint ein natürlicher Weg zu sein, um dies zu erreichen.

Außerdem wird das aktuelle Verhalten als restische "halbe Wiederherstellung" dieser Zwischenverzeichnisse wahrgenommen (ihre Existenz wird wiederhergestellt, ihre Attribute jedoch nicht), was inkonsistent / unlogisch erscheint.

Alle 5 Kommentare

Vielen Dank, dass Sie dieses Problem angesprochen haben. Ich bin mir nicht sicher, ob ich die vorherigen Zugriffsrechte für Zwischenverzeichnisse richtig einstellen soll. Lassen Sie mich ein wenig darüber nachdenken.

Irgendwelche anderen Gedanken zu diesem Thema?

Für mich sieht dies definitiv nach einem Fehler / Problem in der Wiederherstellungsfunktion aus. Wenn ich Daten, die ursprünglich einem Benutzer gehörten, in einem Verzeichnis wiederherstelle, auf das dieser Benutzer zugreifen kann, erwarte ich, dass dieser Benutzer auf die wiederhergestellten Daten zugreifen kann, auch wenn nur ein Teil wiederhergestellt wurde. Das Wiederherstellen von Verzeichnisattributen (Eigentümer / Zugriff / usw.) scheint ein natürlicher Weg zu sein, um dies zu erreichen.

Außerdem wird das aktuelle Verhalten als restische "halbe Wiederherstellung" dieser Zwischenverzeichnisse wahrgenommen (ihre Existenz wird wiederhergestellt, ihre Attribute jedoch nicht), was inkonsistent / unlogisch erscheint.

Ich denke, das ist ein Fehler. Wenn ich einen Teil einer Sicherung wiederherstellen möchte, sollte die wiederhergestellte Kopie verwendbar sein. Derzeit ist es unbrauchbar, ohne restische Operationen die richtigen Berechtigungen, Eigentümer und Gruppen für jedes automatisch erstellte Pfadelement zu ermitteln. Es macht die Wiederherstellung von Dateien / Verzeichnissen wirklich schwierig.

Ich bin damit einverstanden, dass das, was von restic wiederhergestellt wird, auf konsistente Weise wiederhergestellt werden sollte (dh entweder mit "Standard" -Berechtigungen des Benutzers, der die Wiederherstellung ausführt, oder mit den Berechtigungen usw. aus den ursprünglichen Dateien und Ordnern, die gesichert wurden, nicht a Kombination der beiden).

Ich kann jedoch einen Anwendungsfall für beide Arten von Berechtigungen sehen:

  • Einige Benutzer müssen / möchten die Daten in einem neuen Kontext wiederherstellen, und damit möchten sie, dass die Eigentümer und Berechtigungen "Standard" sind, als hätten sie dieselben Verzeichnisse und Dateien selbst neu erstellt.
  • Einige Benutzer müssen / möchten die Daten in demselben oder demselben Kontext wiederherstellen, in dem sie gesichert wurden, und möchten daher, dass das Ergebnis denselben Besitz und / oder dieselben Berechtigungen wie die ursprünglichen Dateien hat, die gesichert wurden.
  • Einige Benutzer möchten nur die Berechtigungen behalten, nicht jedoch die Eigentümer (sie können die Eigentümer jedoch leicht selbst korrigieren).

Ich denke, der vernünftige Weg in die Zukunft ist, dass man durch einige Optionen für den Wiederherstellungsbefehl steuern kann, welche Eigentums- und / oder Berechtigungen restic wiederhergestellt werden.

Kann jemand bitte bestätigen, dass es immer noch ein Problem ist? Seit der Veröffentlichung von 0.7.3 haben wir einige Änderungen an der Behandlung von Berechtigungen (und Zeitstempeln) für Zwischenverzeichnisse vorgenommen ...

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen