DO NOT REPLY [Bug 7070] New: Permission denied message with --fake-super and permissionless directory

samba-bugs at samba.org samba-bugs at samba.org
Wed Jan 27 09:27:20 MST 2010


https://bugzilla.samba.org/show_bug.cgi?id=7070

           Summary: Permission denied message with --fake-super and
                    permissionless directory
           Product: rsync
           Version: 3.0.6
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: core
        AssignedTo: wayned at samba.org
        ReportedBy: joerg.sommer at ateo.de
         QAContact: rsync-qa at samba.org


Hi,

# id
uid=0(root) gid=0(root) groups=0(root)
# cd /tmp 
# mkdir a
# : > a/1
# chmod 0 a
# ls -ld a
d--------- 2 root root 60 27. Jan 17:07 a
# ls a
1
# rsync -a --rsync-path='strace -o /tmp/rsync.st rsync --fake-super' a
joerg at localhost:/var/tmp
rsync: failed to read xattr user.rsync.%stat for "/var/tmp/a": Permission
denied (13)
rsync: failed to read xattr user.rsync.%stat for "/var/tmp/a": Permission
denied (13)
rsync: failed to read xattr user.rsync.%stat for "/var/tmp/a": Permission
denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code
23) at main.c(1057) [sender=3.0.6]
# ls -ld /var/tmp/a
d--------- 2 joerg users 4,0K 27. Jan 17:07 /var/tmp/a

From the strace:

lstat64("a", 0xbfe8e68c)                = -1 ENOENT (No such file or directory)
mkdir("a", 0)                           = 0
lstat64("a", {st_mode=S_IFDIR, st_size=4096, ...}) = 0
lgetxattr("a", "user.rsync.%stat", 0xbfe8c318, 255) = -1 EACCES (Permission
denied)
…
lstat64("a", {st_mode=S_IFDIR, st_size=4096, ...}) = 0
lgetxattr("a", "user.rsync.%stat", 0xbfe8c0d8, 255) = -1 EACCES (Permission
denied)
…
chmod("a", 0700)                        = 0
lsetxattr("a", "user.rsync.%stat", "40000 0,0 0:0", 13, 0) = 0

I think the problem is, that rsync server creates the directory with the
permission of the client which does not mean that they are usable when
running with --fake-super. I found no way to make the server creates the
directories and files with other permission, but keeping the right
permissions in the extended attribute. When using --chmod=u+rX on the
server side, this changes also the permission in the attribute.

Bye, Jörg


-- 
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the rsync mailing list