restic version
出力レスティック0.7.3
linux / amd64でgo1.9を使用してコンパイル
以下の詳細を参照してください
クライアント:Debian Stable(9.2)
サーバー:OpenSSHを使用するLAN内のFreeBSD 11.1サーバー(OpenSSH_7.2p2、OpenSSL 1.0.2k-freebsd 2017年1月26日)
階層の奥深くにあるファイルのみを復元する場合でも、すべてのディレクトリは元の権限と所有権で作成する必要があります。
階層の奥深くにあるファイルを復元する場合、途中のディレクトリは、元のディレクトリとは異なるユーザーと権限で復元されます。
mkdir testdir#ディレクトリを作成
touch testdir / testfile#その中にファイルを作成します
chmod 755 testdir testdir / testfile#パーミッションが755であることを確認してください
su#rootに切り替えます
restic -r sftp:rakor @ SERVER :/ usr / home / rakor / resticbackuptest backup testdir#バックアップを作成する
restic -r sftp:rakor @ SERVER :/ usr / home / rakor / resticbackuptest restore latest -t testrestore -i testfile#ファイルを復元します(ディレクトリ全体ではありません)
ls -lR testrestore#ファイルは正しい所有者と権限で復元されます。 ただし、ファイルに到達する途中のディレクトリは、ユーザー「root」と権限700で復元されます。
testrestore /:
insgesamt 4
drwx ------ 2ルートルート4096Okt 31 21:30 testdirtestrestore / testdir:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 Okt 3121:25テストファイル
途中のディレクトリは「復元」されるのではなく、「安全なデフォルト」で「作成」されるだけだと思います。
空のディレクトリを作成するだけでなく、復元します。
この問題を提起していただきありがとうございます。 中間ディレクトリの以前のアクセス権を正しい方法で設定するかどうかはわかりませんが、これについて少し考えてみましょう。
この問題について他に何か考えはありますか?
私には、これは間違いなく復元機能のバグ/問題のように見えます。 あるユーザーが元々所有していたデータを、このユーザーがアクセスできるディレクトリに復元する場合、一部だけが復元された場合でも、このユーザーは復元されたデータにアクセスできると期待しています。 ディレクトリ属性(所有者/アクセスなど)を復元することは、これを実現するための自然な方法のように見えます。
また、現在の動作は、これらの中間ディレクトリを「半分復元」していると認識されており(存在は復元されますが、属性は復元されません)、一貫性がない/非論理的です。
これはバグだと思います。 バックアップの一部を復元したい場合は、復元したコピーを使用できるはずです。 現在、自動作成された各パス要素の適切な権限、所有者、およびグループを検出するために、制限されたls操作を実行しないと使用できません。 それは本当にファイル/ディレクトリの復元を困難にします。
resticによって復元されるものは、一貫した方法で復元する必要があることに同意します(つまり、復元を実行するユーザーの「デフォルト」のアクセス許可、またはバックアップされた元のファイルやフォルダーからのアクセス許可などを使用して、 2つの組み合わせ)。
ただし、両方のタイプのアクセス許可のユースケースを確認できます。
前進するための合理的な方法は、復元コマンドのいくつかのオプションによって、resticが復元する所有権や権限を制御できることだと思います。
誰かがそれがまだ問題であることを確認できますか? 0.7.3がリリースされてから、中間ディレクトリのアクセス許可(およびタイムスタンプ)の処理にいくつかの変更を加えました...
最も参考になるコメント
私には、これは間違いなく復元機能のバグ/問題のように見えます。 あるユーザーが元々所有していたデータを、このユーザーがアクセスできるディレクトリに復元する場合、一部だけが復元された場合でも、このユーザーは復元されたデータにアクセスできると期待しています。 ディレクトリ属性(所有者/アクセスなど)を復元することは、これを実現するための自然な方法のように見えます。
また、現在の動作は、これらの中間ディレクトリを「半分復元」していると認識されており(存在は復元されますが、属性は復元されません)、一貫性がない/非論理的です。