Saat menggunakan utilitas tar untuk menyimpan file dalam cadangan, seseorang kehilangan ACL yang diperluas.
Apakah ada beberapa solusi yang umum digunakan dan tidak diretas (seperti: membuat skrip yang akan membaca ACL dari awal) untuk melestarikan ACL?
acl
tar
backup
permissions
sutra
sumber
sumber
Jawaban:
Menggunakan tar
Untuk membuat:
Untuk untar:
sumber
tar: unrecognized option '--acls'
tidak bekerja.--acls
tar
tidak mendukung--acls
sampai jessie. (Lihat bug # 732071. ) Fitur ini juga tersedia dalam paket dariwheezy-backports
.wheezy-backports
versi mengatakantar
memiliki--acls
opsi opsi bug . Ekstraksi tarball menggunakan opsi tersebut akan menetapkan ACL, bahkan jika arsip tidak memilikinya (!). Lihat di sini .Sebenarnya, saya percaya pertanyaannya bukan tentang bit izin file (standar), tetapi informasi ACL diperpanjang (lihat setfacl (1) atau acl (5)).
Sepengetahuan saya, tar GNU yang tidak dimodifikasi mengabaikan informasi ACL. (Halaman manual untuk GNU tar 1.15.1 sebagaimana dikirimkan dengan RHEL 5.2 menyebutkan sakelar --acl dan --no-acl, tapi saya belum membuatnya berfungsi.)
Namun, program bintang dapat membuat cadangan dan memulihkan ACL, jika Anda memilih format exustar :
Halaman rumah bintang: http://cdrecord.berlios.de/new/private/star.html Star tersedia di ubuntu, setidaknya.
sumber
star
tidak tersedia di Debian dan tampaknya tidak dikelola oleh "tim". Proyek ini masih hidup dan dipertahankan setelah lebih dari 30 tahun. Cobabsdtar
jika Anda menginginkan sesuatu yang lain.Saya mencari solusi sejauh ini saya menemukan ini:
pertama lakukan getfactl dari folder saya
kemudian lakukan tar reguler
ketika saya mengekstraknya
lakukan setfacl untuk izin.
ini bekerja untuk saya.
sumber
sumber
Jika Anda mencari solusi yang mudah digunakan namun kuat, saya sarankan
rdiff-backup
.Pada dasarnya, ini membuat salinan direktori sumber ke direktori tujuan tetapi juga menyimpan informasi tambahan sehingga Anda dapat kembali ke waktu kapan pun Anda mau.
Dan, tentu saja, mempertahankan symlink, file khusus, hardlink, izin, kepemilikan uid / gid dan waktu modifikasi.
sumber
Saya sarankan Anda untuk menggunakan
bsdtar
.bsdtar
cadangan diperpanjang ACL secara default , menggunakan sintaks yang sama sepertiGNU tar
, dan arsip yang dihasilkannya dapat dibaca olehGNU tar
.Paket dan nama perintah (di bawah distribusi berbasis Debian) adalah
bsdtar
.Perintah ke-2 (ekstrak) mengembalikan ACL.
sumber
Dari tar Man Page.
Sebenarnya bukan tindakan pengarsipan yang mengubah izin akses (ACL), tetapi tindakan membongkar mereka. Tar sangat sering digunakan untuk mendistribusikan file dari satu pengguna ke pengguna lain, dan karenanya dianggap nyaman untuk menerapkan umask pengguna saat mereka membongkar.
Untuk mempertahankan file izin sebelumnya, cukup iklankan ap untuk opsi Anda. Sebagai contoh
Tar lurus:
bz.tar:
gz.tar:
sumber