Rsync set group owner, group permission

permissionsrsync

I want to use rsync to transfer files from my computer to a remote Linux system. Regardless of the local file's group ownership, I want to set these values on the remote side.

If I was on the remote Linux system, I could create the directory and set the ownership and permissions as:

mkdir my_directory
chown :my_group my_directory
chmod 775 my_directory

If I create the directory locally and then use rsync (remember, I don't have my_group locally), I do:

rsync -ae ssh --chmod=ug+rw,Dug+rwx my_directory remoteserver:dest

That works, but I cannot figure out how to set the group owner through rsync. If I do a chmod g+s dest, my_directory has the correct group owner but all of the files inside have the incorrect group owner.

Best Answer

Right this minute, I'm looking for a way to do this in the rsync operation myself, as oppose to in a subsequent operation. I want some files not to be world readable and assign a group, thereby restricting access to the remote server processes within that group. But I haven't found one.

The only thing I can imagine is to:

  1. use --delay-updates to make putting the remote files in a more atomic, instantaneous operation assign
  2. g+rwx,o+rwx in the rsync --chmod option

and then run:

ssh remoteserver chgrp -R {groupname} /my/dest/folder/* && \
chmod -R o-rwx /my/dest/folder/*
Related Question