Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question

2 Answers 2

up vote 5 down vote accepted

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/*
share|improve this answer
    
Yeah, I think that's what we are going to do. I'm surprised there's no way that you or I could find to do this just with rsync, but hey. –  ChrisInEdmonton Mar 17 '10 at 14:55

I think the -p flag is missing from your command ..

--chmod

This option tells rsync to apply one or more comma-separated "chmod" strings to the permission of the files in the transfer. The resulting value is treated as though it was the permissions that the sending side supplied for the file, which means that this option can seem to have no effect on existing files if --perms is not enabled.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.