Saya mencoba melakukan rsync lokal, dari titik mount ke folder lokal. Saya perlu mengatur pemilik, grup, dan izin ke pengaturan tertentu. Inilah yang saya gunakan:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Saya berakhir dengan izin 760 pada direktori dan file, dan root: root on ownership (rsync dijalankan sebagai root).
Apa yang saya lakukan salah?
TIA
Jawaban:
rsync perlu diberi tahu bahwa Anda ingin mengatur izin dan informasi pemilik / grup. Adalah logis untuk berasumsi bahwa memiliki
--chmod
atau--chown
akan mengatakan itu tetapi mereka tidak.Agar izin untuk menyebar, Anda memerlukan bendera
--perms
atau-p
dan untuk pemilik / grup Anda perlu--owner --group
atau-og
bendera untuk informasi pemilik / grup / izin yang akan ditetapkan.Dokumentasi sedikit tidak jelas ditulis sehingga tidak jelas bagaimana izin ditangani dengan kombinasi yang berbeda atau jika file yang ada terpengaruh.
sumber
$(whoami)
Saya menemukan versi StackOverflow dari pertanyaan yang sama ini menjadi lebih bermanfaat, karena tampaknya Roger dan saya memiliki rsyncs dengan preferensi berbeda untuk format
--chmod
(milik saya 3.1.3 dari paket Debian).Seperti kata Sami, rsync perlu diberi tahu "izin", jadi sertakan
-p
, atau masukkan secara implisit dengan menggunakan-a
. Tetapi kemudian, untuk mendapatkan perintah untuk benar-benar berjalan, Anda perlu (misalnya untuk direktori 755 dan file 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
, daripada format "D755, F644".sumber