How do I set destination permissions with rsync (chown chmod)
Solution 1:
rsync needs to be told that you want to set the permissions and owner/group information. It would be logical to assume that having --chmod
or --chown
would tell that but they don't.
For permissions to propagate you need the --perms
or -p
flag and for owner/group you need --owner --group
or -og
flags for the owner/group/permission information to be set.
The documentation is a bit unclearly written so it isn't clear how the permissions are handled with different combinations or if existing files are affected.
Solution 2:
I found this StackOverflow version of the same question to be more helpful, because it seems Roger and I have rsyncs with different preferences for the format of --chmod
(mine is 3.1.3 from a Debian package).
As Sami said, rsync needs to be told "permissions", so either include -p
, or have it implicitly included by using -a
. But then, to get the command to actually run, you need (e.g. for directories 755 and files 644) --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
, rather than the "D755,F644" format.