I originally noticed this problem start after upgrading to acl 2.0.15,
however i thought perhaps it was related to xattr bugs in 2.4.18 so i
waited until upgrading to 2.4.19 to see if the problem persists, it
does:
eb@ash ~/tmp$ mkdir src dst
eb@ash ~/tmp$ mkdir src/dir dst/dir
eb@ash ~/tmp$ touch src/dir/file dst/dir/file
eb@ash ~/tmp$ setfacl -m u:bin:r-- src/dir/file
eb@ash ~/tmp$ (cd src ; getfacl --skip-base -R -P .) | (cd dst ; setfacl
--restore=-)
setfacl: dir/file: Permission denied
eb@ash ~/tmp$ getfacl src/dir/file
# file: src/dir/file
# owner: eb
# group: eb
user::rw-
user:bin:r--
group::r--
mask::r--
other::r--
eb@ash ~/tmp$ getfacl dst/dir/file
# file: dst/dir/file
# owner: eb
# group: eb
user::rw-
group::r--
other::r--
i use the above method as part of my backup script, it worked with acl
2.0.8 but not with 2.0.15.
current kernel is 2.4.19 with split patches, previous kernel was
2.4.18 with split patches.
here is the relevant piece of strace output:
lstat64(0x10015750, 0x7ffff8c8) = 0
SYS_212(0x10015750, 0xffeeb84, 0x7ffff710, 0x84, 0xa0a0a0a) = -1 ENODATA (No
data available)
stat64(0x10015750, 0x7ffff7a8) = 0
SYS_212(0x10015750, 0xffeeb9c, 0x7ffff710, 0x84, 0xff95d20) = -1 ENODATA (No
data available)
stat64(0x10015750, 0x7ffff7a8) = 0
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such
file or directory)
write(2, "setfacl: dir/file: Permission de"..., 37setfacl: dir/file: Permission
denied) = 37
read(0, "", 4096) = 0
exit(0) = ?
--
Ethan Benson
http://www.alaska.net/~erbenson/
pgpp8HpzhKOJU.pgp
Description: PGP signature
|