cannot rsync when source directory lacks write permission

Steven Levine steve53 at
Thu Aug 9 13:37:29 MDT 2012

<64FAB8215D47A944ABDF7DE50A3406A219C2DAC909 at>,
on 08/09/12
   at 07:54 AM, András Porjesz <andras.porjesz at> said:


>Thanks, it looks ok, just it is not documented anywhere:

>From the ryncd.conf man page

       uid    This  parameter  specifies the user name or user ID
              that file transfers to and from that module  should
              take  place  as when the daemon was run as root. In
              combination with the gid parameter this  determines
              what file permissions are available. The default is
              uid -2, which is normally the user nobody.

>it overwrites
>the -perms flag on the other side.

Not really.  Se below.

>So read documentation, it is
>definitely against it: "In summary: to give destination files (both old
>and new) the source permissions, use --perms."

I assume you are referring to the rsync man page which says

       -p, --perms
              This option causes the receiving rsync to  set  the
              destination  permissions  to  be  the  same  as the
              source permissions.  (See also the  --chmod  option
              for  a way to modify what rsync considers to be the
              source permissions.)

What it does not say is that the receiving side needs sufficient
permissions to be able to change the permissions.  I guess the man page
authors assumed that someone running rsync on *ix would understand this
implicitly.  Running the receiving side as root is one option for ensuring
that the receiver can change permissions.  There are others that are more

Running the receiver as the default nobody user does not turn off --perms,
it simply ensures that the attempt to change permissions is very likely to
fail.  One way to make it not fail is to have the module root owned by



"Steven Levine" <steve53 at>  eCS/Warp/DIY etc.

More information about the rsync mailing list