15

I'm running an rsync command, copying my files from a server to my Windows machine like:

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

Whenever this command creates a directory, it tends to create a directory with crazy ACLs/permissions. For me, it tends to create ten <not inherited> entries, with one deny entry for the user who ran the rsync command, and the others not making much sense, either. This even happens using the --chmod=ugo=rwX option, which a similar thread suggested.

What can I do to prevent rsync from trying to set permissions at all (and just leave the permissions to the ACL inheritance in Windows)?

palswim
  • 3,451
  • 10
  • 46
  • 65

1 Answers1

14

Mount the directory in question with the noacl option, as described in the manual.

(And if you want to know why the mapping of Unix permissions to Windows ACLs is not straightforward, see here.)

ak2
  • 3,675
  • 17
  • 17
  • `noacl` does prevent the crazy permissions, but since it fakes permissions with the "readonly" bit, I get a bunch of weird partial read-only directories. This is an improvement. – palswim Apr 14 '11 at 19:21
  • How about rsync's `--no-perms` option? – ak2 Apr 15 '11 at 10:04
  • 1
    Actually, it looks like I get that "partial readonly" symptom on any directory (whether `rsync` created it or not). It appears [Windows is saying](http://answers.microsoft.com/en-us/windows/forum/windows_xp-files/read-only-green-square/8706deea-bfa4-41c0-89ae-35c72ec873c2) just that [directories have no readonly property](http://www.annoyances.org/exec/forum/winxp/t1065875615). – palswim Apr 15 '11 at 17:47
  • 2
    ak2's answer was very helpful to be, but it took quite a bit of googling to find how to setup the `noacl` in /etc/fstab properly. I found this [link quite](http://i-cat.blogspot.com/2010/01/cygwinnontsec-in-cygwin-17-speak.html) helpful. Using `noacl` fixed my rsync problems - thanks. – miking Dec 07 '11 at 23:11
  • 2
    @miking already gave a nice hint with that link and the `noacl` option. Didn't work out for me with MobaXterm (portable), as that seems to re-create `/etc/fstab` on each start. I partially got around that placing `mount -c /drives -o binary,posix=0,user,auto,noacl` into my `.bashrc`. "Partially" as this only affects the "Windows drive letters" (and not e.g. `/home`). – Izzy May 13 '15 at 12:19
  • Would be great if someone knew how to do this with cwrsync (or any standalone `rsync.exe` that doesn't use the full cygwin). – Simon E. May 29 '17 at 04:34
  • @SimonEast - Any luck with finding what options to make this work with CwRSync? – Alex S Oct 24 '19 at 09:41
  • @AlexS I never got it working reliably. rsync would work 90% of the time but I still often ended up with some read-only files that needed their permissions reset periodically. Pain in the butt. – Simon E. Oct 26 '19 at 07:22
  • 2
    @SimonEast - Found this while you replied. Could you try this & respond? - https://developers.redhat.com/blog/2018/02/07/windows-rsync-jboss-developer-studio/ - # If you distribution doesn’t have an fstab file, which is typical for `cwRsync`, that is easily fixed. Ccreate the file at `$MY_RSYNC_DIST_DIR/etc/fstab` and paste the following content: `none /cygdrive cygdrive binary,posix=0,user,noacl 0 0` – Alex S Oct 26 '19 at 11:35
  • Just adding that this still works at the end of 2020 -- and, as someone somewhere noted -- I had to kill all of the existing cygwin sessions to get the fstab table to get reloaded. – mpettis Dec 28 '20 at 15:33