I'm using rsync under cygwin to synchronize my music and pictures folders across two machines. I have full control over both of these folders on the Windows machine, and the permissions on the Linux machine are generally -rw-------, owned by me. When I use, for example, rsync -rvu --delete rsync://fraxtil@linuxmachine:/music/ /cygdrive/d/Music/
, it creates the files and folders in D:\Music\, but I don't have permission to access them, and as a result rsync fails to recurse into newly created directories.
I've tried adding --chmod=a+rwx,g+rwx,o+rwx
to the command, adding noacl
to cygwin's fstab entry for /cygdrive/, and removing read only = yes
from Linux's rsyncd.conf, but none of these solved the issue.
My rsyncd.conf:
log file = /var/log/rsync.log
timeout = 300
[music]
comment = Music
path = /home/fraxtil/music
#read only = yes
list = yes
uid = fraxtil
gid = fraxtil
auth users = fraxtil
secrets file = /etc/rsyncd.secrets
[pictures]
(mostly the same as above)
cygwin's /etc/fstab:
none /cygdrive cygdrive noacl,binary,posix=0,user 0 0
I've noticed that when I browse D:\ from bash under cygwin, most of the files have mode 0200 or 0000. This might be related to my problem. However, the newly created files, oddly enough, have mode 0270, which is baffling because those are the ones I can't access, yet they have more permissions.
Any ideas?
This was originally posted as an edit to my original question, but now that another answer exists I need to accept something to keep my 100% accept rate:
I just removed the --chmod bit from the rsync command and now I have the proper permissions again. I had tried --chmod with noacl and no --chmod with acl, but hadn't yet tried no --chmod with noacl. The lattermost works for me. I'll leave this open if anyone wants to explain why this happens the way it does.