Biarkan penanganan ACL ke Windows dengan Cygwin rsync


10

Saya menjalankan rsyncperintah, menyalin file saya dari server ke mesin Windows saya seperti:

rsync -rt --partial-dir=".rsync" --del rsync://server/a/ a/

Setiap kali perintah ini membuat direktori, ia cenderung membuat direktori dengan ACL / izin gila. Bagi saya, ini cenderung membuat sepuluh <not inherited>entri, dengan satu entri ditolak untuk pengguna yang menjalankan rsyncperintah, dan yang lainnya juga tidak masuk akal. Ini bahkan terjadi menggunakan --chmod=ugo=rwXopsi, yang disarankan utas serupa .

Apa yang bisa saya lakukan untuk mencegah rsyncmencoba mengatur izin sama sekali (dan biarkan izin ke warisan ACL di Windows)?

Jawaban:


12

Pasang direktori yang dipermasalahkan dengan noaclopsi, seperti yang dijelaskan dalam manual .

(Dan jika Anda ingin tahu mengapa pemetaan izin Unix untuk Windows ACL tidak mudah, lihat di sini .)


noaclmemang mencegah izin gila, tetapi karena memalsukan izin dengan bit "readonly", saya mendapatkan banyak direktori read-only parsial yang aneh. Ini merupakan peningkatan.
palswim

1
Sebenarnya, sepertinya saya mendapatkan gejala "hanya baca sebagian" pada direktori apa pun (baik rsyncdibuat atau tidak). Tampaknya Windows mengatakan hanya bahwa direktori tidak memiliki properti hanya baca .
palswim

2
Jawaban ak2 sangat membantu, tetapi butuh sedikit googling untuk menemukan cara mengatur noacl/ etc / fstab dengan benar. Saya menemukan tautan ini cukup membantu. Menggunakan noaclmemperbaiki masalah rsync saya - terima kasih.
miking

1
@miking sudah memberikan petunjuk yang bagus dengan tautan dan noaclopsi itu. Tidak berhasil bagi saya dengan MobaXterm (portabel), karena sepertinya membuat ulang /etc/fstabdi setiap awal. Saya sebagian menyiasati penempatan itu mount -c /drives -o binary,posix=0,user,auto,noaclke dalam .bashrc. "Sebagian" karena ini hanya memengaruhi "huruf drive Windows" (dan bukan eg /home).
Izzy

1
@SimonEast - Menemukan ini saat Anda menjawab. Bisakah Anda mencoba ini & merespons? - developers.redhat.com/blog/2018/02/07/... - # Jika distribusi Anda tidak memiliki file fstab, yang tipikal untuk cwRsync, itu mudah diperbaiki. Buat file di $MY_RSYNC_DIST_DIR/etc/fstabdan rekatkan konten berikut:none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
Alex S
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.