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

Reply via email to