Steven,
Of course, the destination side must have enough rights to achieve what I need, 
and an rsyncd running as root:root surely have all the necessary rights. So 
using --perms with this daemon must have been sufficient. But not, it is simply 
not true, because the daemon has a built-in "assumption" which overkills it.
I know rsync sends its command line parameters to the daemon, so rsyncd could 
have been able to handle the case, but instead of recognizing the flag it 
simply makes that assumption.

I think all the permission/ownership handling is complicated (unaccountable, 
puzzling, peculiar) and the usage is confusing and annoying, it should be 
reworked in a much more consistent way:

1. use exactly the same options on both sides
2. specify which attributes to transfer (keep) and which ones to set explicitly 
(including permissions, ownership, time and probably acl also)
3. define defaults
4. define a precedence (like: source filesystem, sender config, receiver 
config, receiver user rights, defaults)
5. describe actions taken in case of insufficient rights

(just another example: client side -E, server side incoming chmod u+x,g-x and 
outgoing chmod u+x,g-x: what is the expected result when sending or receiving 
files?)

Using aliases these can be mapped to the actual flags - for backward 
compatibility

Andras

-----Original Message-----
From: rsync-boun...@lists.samba.org [mailto:rsync-boun...@lists.samba.org] On 
Behalf Of Steven Levine
Sent: Thursday, August 09, 2012 21:37
To: rsync@lists.samba.org
Subject: RE: cannot rsync when source directory lacks write permission

In
<64fab8215d47a944abdf7de50a3406a219c2dac...@esesscms0353.eemea.ericsson.se>,
on 08/09/12
   at 07:54 AM, András Porjesz <andras.porj...@ericsson.com> said:

Hi,

>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 secure.

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 nobody.

Regards,

Steven

--
----------------------------------------------------------------------
"Steven Levine" <stev...@earthlink.net>  eCS/Warp/DIY etc.
www.scoug.com www.ecomstation.com
----------------------------------------------------------------------

--
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to