On the other hand, after modifying /etc/xattr.conf to replace: system.nfs4_acl permissions by: system.nfs4_acl skip then test.sh works nicely: $ ./test.sh -rwxr-x--- 1 patrice patrice 300 Jul 9 10:46 ./test.sh option: -p exitcode: 0 -rwxr-x--- 1 patrice patrice 300 Jul 9 10:46 /tmp/test.sh option: --preserve=mode exitcode: 0 -rwxr-x--- 1 patrice patrice 300 Jul 10 08:32 /tmp/test.sh option: --preserve=timestamps exitcode: 0 -rwxr-x--- 1 patrice patrice 300 Jul 9 10:46 /tmp/test.sh option: --preserve=ownership exitcode: 0 -rwxr-x--- 1 patrice patrice 300 Jul 10 08:32 /tmp/test.sh
Is there a risk to leave /etc/xattr.conf like this? This file also has a line regarding 'system.nfs4acl'. Is this for any compatibility? If I am right, this file is provided by libattr1 package and its content is from upstream: https://git.savannah.nongnu.org/cgit/attr.git/tree/xattr.conf Le mar. 9 juil. 2024 à 21:33, Thomas Schmitt <scdbac...@gmx.net> a écrit : > > Hi, > > (I Cc: patrice.dur...@gmail.com because i see no "LDOSUBSCRIBER" in > the "X-Spam-Status:" header.) > > Jumping ahead: > > Look into the local file > > /etc/xattr.conf > > and try what happens if you change > > system.nfs4_acl permissions > > to > > system.nfs4_acl skip > > or if you newly insert thie "skip" line if no "system.nfs4_acl" is to see. > > ---------------------------------------------------------------------- > How i came to that proposal: > > Patrice Duroux wrote: > > $ LANG=C strace cp -p test.sh /tmp > > strace is a very good idea. > > > > flistxattr(4, NULL, 0) = 16 > > flistxattr(4, "system.nfs4_acl\0", 16) = 16 > > Somehow your file has an extended file attribute "system.nfs4_acl". > Inquire by: > > getfattr -d test.sh > > (I dimly remember that one needs superuser authority to read "system." > attributes. But i cannot find this in man 1 getfattr.) > > > > openat(AT_FDCWD, "/etc/xattr.conf", O_RDONLY) = 6 > > According to Google this is a configuration file: > > https://sources.suse.com/SUSE:SLE-15-SP6:Update:CR/minimal-image/f2d0d3c549d068931c52fb2e94925dd7/INCLUDED/SUSE:SLE-15:GA::attr::efd1f5b9c0b136b5dfc37de3f2d9c977/xattr.conf > ... > # How to handle extended attributes when copying between files > ... > # Actions: > # permissions - copy when trying to preserve permissions. > # skip - do not copy. > ... > system.nfs4_acl permissions > > cp sees this configuration file associated to SELinux: > > https://sources.debian.org/src/coreutils/9.4-3.1/src/copy.c/?hl=751#L749 > /* Exclude SELinux extended attributes that are otherwise handled, > and are problematic to copy again. Also honor attributes > configured for exclusion in /etc/xattr.conf. > > > > fsetxattr(5, "system.nfs4_acl", > > "\0\0\0\3\0\0\0\0\0\0\0\0\0\26\1\247\0\0\0\6OWNER@\0\0\0\0\0", 80, 0) = -1 > > EOPNOTSUPP (Operation not supported) > > Here the error happens while trying to set the attribute. > Shell equivalent is > > setfattr -n system.nfs4_acl -v > '\0\0\0\3\0\0\0\0\0\0\0\0\0\26\1\247\0\0\0\6OWNER@\0\0\0\0\0' /tmp/x > > and yields here (even for the superuser and on ext4 filesystem) > > setfattr: /tmp/x: Operation not supported > > I'm not sure whether the value is a digestible format. > But if i do the same with a name in the "user." namespace i get no error > > setfattr -n user.x -v '\0\0\0...lengthy.string.above...' /tmp/x > > > Have a nice day :) > > Thomas >