I am trying to do a local rsync, from a mount point to a local folder. I need to set the owner, group, and permissions to specific settings. Here is what I am using:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
I end up with permissions 760 on both directories and files, and root:root on ownership (rsync is run as root).
What am I doing wrong?
TIA
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.
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.