Restic: Mengembalikan dengan --include membuat direktori dengan izin yang salah di jalan turun.

Dibuat pada 31 Okt 2017  ·  5Komentar  ·  Sumber: restic/restic

Keluaran restic version

restic 0.7.3
dikompilasi dengan go1.9 di linux / amd64

Bagaimana tepatnya Anda menjalankan restic?

Lihat detailnya di bawah

Backend / server / layanan apa yang Anda gunakan?

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)

Perilaku yang diharapkan

Semua direktori harus dibuat dengan izin dan kepemilikan asli, meskipun Anda hanya memulihkan file yang berada jauh di dalam hierarki.

Perilaku sebenarnya

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.

Langkah-langkah untuk mereproduksi perilaku

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 testdir

testrestore / testdir:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 Okt 31 21:25 testfile

Apakah Anda tahu apa yang menyebabkan ini?

Saya akan berpikir bahwa direktori di bawah tidak "dikembalikan" tetapi hanya "dibuat" dengan "default aman".

Apakah Anda memiliki ide untuk mengatasi masalah tersebut?

mengembalikan direktori kosong, bukan hanya membuatnya.

restore bug

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.

Semua 5 komentar

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:

  • Beberapa pengguna perlu / ingin memulihkan data ke dalam konteks baru, dan dengan itu mereka ingin kepemilikan dan izin menjadi "default", sama seperti jika mereka telah membuat direktori dan file yang sama lagi.
  • Beberapa pengguna perlu / ingin memulihkan data ke dalam konteks yang sama atau sama dengan tempat mereka dicadangkan, dan dengan itu ingin hasilnya memiliki kepemilikan dan / atau izin yang sama seperti file asli yang dicadangkan.
  • Beberapa pengguna hanya ingin mempertahankan izin tetapi bukan kepemilikannya (mereka dapat dengan mudah memperbaiki sendiri kepemilikannya).

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 ...

Apakah halaman ini membantu?
0 / 5 - 0 peringkat