Mark Shellenbaum wrote: > Darren J Moffat wrote: >> Mark Shellenbaum wrote: >>> >>>> >>>> Lets have another root owned file but this time one that is >>>> world writable: >>>> >>>> islay:pts/4$ ls -l >>>> total 0 >>>> -rw-r--r-- 1 darrenm staff 0 Aug 7 15:34 test1 >>>> -rw-r--r-- 1 darrenm root 0 Aug 7 15:35 test2 >>>> -rw-rw-rw- 1 root root 0 Aug 7 15:35 test3 >>>> islay:pts/4$ runat test3 cp /tmp/attrdata attr.1 >>>> cp[1799]: missing privilege "ALL" (euid = 35661, syscall = 224) >>>> needed at ufs_iaccess+0xf8 >>>> cp: cannot create attr.1: Permission denied >>>> >>>> Hmn, slightly strange since I would have thought that given write >>>> to the file I could write attributes. ZFS is consistent in this >>>> because the default ZFS ACL does not have everyone@ having >>>> write_xattr. Maybe not quite what one would expect. >>>> >>> >>> Whats happening is that when you change the mode or owner of the base >>> file the mode and owner of the hidden directory aren't changing. >>> With UFS the mode of the hidden directory is created when the >>> attribute directory is initially created. When the mode or owner of >>> the base file is changed the corresponding mode/owner of the hidden >>> attribute directory are not updated as well. >> >> So it is a UFS and TMPFS bug then since there appears to be no way >> to fix this once it has happened. Even if there is a way to fix it >> it is really hard to know that you need to do so until after there >> is a problem. > > It is a UFS and TMPFS bug, but it can be worked around. > > # runat <file> chown <whatever> . > > Or if you want to change the mode of the hidden directory. > > # runat <file> chmod <whatever> .
Indeed but the fact that you need to use that workaround is pretty nasty. Of course this assumes anyone actually cares about XATTRS and is using them for something useful :-) Thanks Mark. I'll file the bug. -- Darren J Moffat
