Ownership and permissions when syncing directory contents

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Ownership and permissions when syncing directory contents

John Lane

When you rsync a directory, say `$rsync mydir/ ...` with the trailing
slash, the destination directory is changed to the ownership,
permissions and timestamp of `mydir`.

Consider this simple example

    $ mkdir test
    $ cd test
    $ mkdir a b
    $ touch -d '01 jan 1980' a/A
    $ touch -d '15 jun 1985' a
    $ touch -d '02 feb 1990' b/B
    $ touch -d '25 aug 1995' b
    $ mkdir c

Note the directory 'c' timestamp:

    $ ls -ld c
    drwxr-xr-x 2 john users 4096 Jan  7 20:50 c

Now, rsync:

    $ rsync -a a/ b/ c
    $ ls -ld c
    drwxr-xr-x 2 john users 4096 Jun 15  1985 c

The directory 'c' now has the timestamp of the file 'a'

Furthermore, if the copy is done with root, the ownership and
permissions of the file are also propagated to the directory. Note the
destination directory gains the properties of the first source directory
with a trailing slash.

I am using:

rsync  version 3.1.2  protocol version 31
Linux 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64
GNU/Linux

Am I using it correctly, or is this a bug or is it expected behaviour ?










--
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 | Threaded
Open this post in threaded view
|

Re: Ownership and permissions when syncing directory contents

Paul Slootman-5
On Fri 20 Jan 2017, John Lane wrote:
>
> When you rsync a directory, say `$rsync mydir/ ...` with the trailing
> slash, the destination directory is changed to the ownership,
> permissions and timestamp of `mydir`.

>     $ rsync -a a/ b/ c
>     $ ls -ld c
>     drwxr-xr-x 2 john users 4096 Jun 15  1985 c
>
> The directory 'c' now has the timestamp of the file 'a'
>
> Furthermore, if the copy is done with root, the ownership and
> permissions of the file are also propagated to the directory. Note the
> destination directory gains the properties of the first source directory
> with a trailing slash.

That is as documented. You are requesting that the directory is synced
to c, preserving all attributes (due to -a) so rsync does that.


Paul

--
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 | Threaded
Open this post in threaded view
|

Re: Ownership and permissions when syncing directory contents

John Lane

>
> That is as documented. You are requesting that the directory is synced
> to c, preserving all attributes (due to -a) so rsync does that.
>

Ah... the attributes of the containing directory are transferred to the
containing directory on the destination.

I read that but failed to absorb it. I guess it could clarify that,
where there are multiple source directories, it's the FIRST containing
directory's attributes that are transferred.

But thanks, that explains it.


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