rsync permissioning?

6

3

I have run the command

sudo rsync --chmod=a+rwx testfile testfile2

This creates a file testfile2 but the permissions on it are 755 (-rwxr-xr-x)

Can someone explain how to make it so the permissions are 777 (-rwxrwxrwx)?

llaskin

Posted 2010-07-15T14:28:56.037

Reputation: 513

Answers

10

Use

sudo rsync --perms --chmod=777 testfile testfile2

or

sudo rsync --perms --chmod=a+rwx testfile testfile2

BloodPhilia

Posted 2010-07-15T14:28:56.037

Reputation: 27 374

yup, from man page: The resulting value is treated as though it were 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. – Jeremy L – 2010-07-15T14:49:29.010

@Nerdling - Exactly... – BloodPhilia – 2010-07-15T15:02:11.793

I get Invalid argument passed to --chmod (777) with the first option. Seems to be explained here?

– None – 2013-05-28T20:29:55.667

5

Using --chmod=777 with rsync may fail:

sudo rsync --perms --chmod=777 ./testfile ./testfile2
rsync: Invalid argument passed to --chmod (777) 
rsync error: syntax or usage error (code 1) at main.c(1453) [client=3.0.9]

However, these are successful:

sudo rsync --perms --chmod=u+rwx ./testfile ./testfile2
sudo rsync --perms --chmod=g+rwx ./testfile ./testfile2
sudo rsync --perms --chmod=o+rwx ./testfile ./testfile2

i.e. add (+) permissions for user (u), group (g) or other (o) respectively.

Also (a)=all is successful:

sudo rsync --perms --chmod=a+rwx ./testfile ./testfile2

or alternatively:

sudo rsync --perms --chmod=ugo+rwx ./testfile ./testfile2

That --perms can replaced by -p with same results.

Revoking (-) permissions works the same way and even comma separated combinations of adding and revoking:

sudo rsync --perms --chmod=u-rwx,o+rwx ./testfile ./testfile2

ajaaskel

Posted 2010-07-15T14:28:56.037

Reputation: 157

chmod 777: nonononono! Never ever run chmod 777. It is practically never required! Not even for "testing purposes". If the file is readable, then it's readable. If it's writable by the user or group that need to write to it, then it's writable. There is absolutely zero need to give everyone write permissions, and forgetting to chmod it back to something sane is exactly how multinationals get hacked. Just don't do it. Ever. I wrote an introduction of Unix permissions. Please read it! – Martin Tournoij – 2016-03-13T06:10:19.927

o+rwx is the same effect/problems (gives "other" read/write access, which is everyone!) – Martin Tournoij – 2016-03-13T06:10:49.130

The header reads "rsync permissioning", i.e. the question is about correct syntax of rsync. – ajaaskel – 2016-03-14T09:50:21.797