restic version
restic 0.7.3
dikompilasi dengan go1.9 di linux / amd64
Lihat detailnya di bawah
Klien: Debian Stable (9.2)
Server: Server FreeBSD 11.1 di LAN menggunakan OpenSSH (OpenSSH_7.2p2, OpenSSL 1.0.2k-freebsd 26 Jan 2017)
Semua direktori harus dibuat dengan izin dan kepemilikan asli, meskipun Anda hanya memulihkan file yang berada jauh di dalam hierarki.
Saat memulihkan file yang terletak jauh di dalam hierarki, direktori di bawah akan dipulihkan dengan pengguna dan izin yang berbeda seperti yang ada di aslinya.
mkdir testdir # buat direktori
sentuh testdir / testfile # buat file di dalamnya
chmod 755 testdir testdir / testfile # pastikan izinnya adalah 755
su # beralih ke root
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest backup testdir # membuat cadangan
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest restore terbaru -t testrestore -i testfile # pulihkan file (bukan seluruh direktori)
ls -lR testrestore # file dipulihkan dengan pemilik dan izin yang benar. Tetapi direktori di jalan menuju file dipulihkan dengan 'root' pengguna dan izin 700.
testrestore /:
insgesamt 4
drwx ------ 2 root root 4096 Okt 31 21:30 testdirtestrestore / testdir:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 Okt 31 21:25 testfile
Saya akan berpikir bahwa direktori di bawah tidak "dikembalikan" tetapi hanya "dibuat" dengan "default aman".
mengembalikan direktori kosong, bukan hanya membuatnya.
Terima kasih telah mengangkat masalah ini. Saya tidak yakin bahwa mengatur hak akses sebelumnya pada direktori menengah dengan cara yang benar ke depan, izinkan saya memikirkan hal ini sebentar.
Ada pemikiran lain tentang masalah ini?
Bagi saya, ini jelas terlihat seperti bug / masalah dalam fungsi pemulihan. Jika saya memulihkan data yang semula milik beberapa pengguna ke dalam direktori yang dapat diakses oleh pengguna ini, saya berharap pengguna ini dapat mengakses data yang dipulihkan, meskipun hanya sebagian yang dipulihkan. Mengembalikan atribut direktori (pemilik / akses / dll) tampak seperti cara alami untuk mencapai ini.
Juga, perilaku saat ini dianggap restic "setengah-memulihkan" direktori perantara ini (keberadaannya dipulihkan, tetapi atributnya tidak), yang tampaknya tidak konsisten / tidak logis.
Saya pikir ini adalah bug. Jika saya ingin memulihkan sebagian dari cadangan, salinan yang dipulihkan harus dapat digunakan. Saat ini tidak dapat digunakan tanpa melakukan operasi restic ls untuk menemukan izin yang tepat, pemilik, dan grup dari setiap elemen jalur yang dibuat secara otomatis. Itu benar-benar membuat pemulihan file / direktori menjadi sulit.
Saya setuju bahwa apa yang dipulihkan oleh restic harus dipulihkan secara konsisten (yaitu, dengan izin "default" dari pengguna yang menjalankan pemulihan, atau dengan izin dll dari file dan folder asli yang dicadangkan, bukan kombinasi keduanya).
Namun saya dapat melihat kasus penggunaan di kedua jenis izin:
Saya pikir cara yang masuk akal ke depan adalah bahwa seseorang dapat mengontrol kepemilikan dan / atau izin apa yang dipulihkan oleh beberapa opsi ke perintah pemulihan.
Bisakah seseorang mengonfirmasi bahwa ini masih menjadi masalah? Sejak 0.7.3 dirilis, kami telah membuat beberapa perubahan pada penanganan izin (dan stempel waktu) untuk direktori perantara ...
Komentar yang paling membantu
Bagi saya, ini jelas terlihat seperti bug / masalah dalam fungsi pemulihan. Jika saya memulihkan data yang semula milik beberapa pengguna ke dalam direktori yang dapat diakses oleh pengguna ini, saya berharap pengguna ini dapat mengakses data yang dipulihkan, meskipun hanya sebagian yang dipulihkan. Mengembalikan atribut direktori (pemilik / akses / dll) tampak seperti cara alami untuk mencapai ini.
Juga, perilaku saat ini dianggap restic "setengah-memulihkan" direktori perantara ini (keberadaannya dipulihkan, tetapi atributnya tidak), yang tampaknya tidak konsisten / tidak logis.