Re: A question about extended attributes of filesystem objects (setfattr command)

From: Michael Kerrisk
Date: Wed Jun 30 2004 - 09:23:56 EST


Salut Jacky,

> > > I have a question regarding
> > > Attributes of symlinks vs. the files pointed to
> > >
> > > If I try to attach name:value pair to object symlink file
> > > then I'll get: "Operation not permitted"
> >
> > What file system are you using? If ext2, ext3 (or patched kernel
> > supporting Reiserfs EAs), did you mount with "-o user_xattr?
> > (The above error suggests you haven't used this option.)
>
> # mount
> /dev/sdb3 on /a type ext3 (rw,acl,user_xattr)
> ...etc...

Okay.

> > > reading the man pages of setfattr (or attr) I thought that it operates
> > > on the attributes of the symbolic link itself.
> >
> > No, these commands follow symbolic links.
> >
> > > show:
> > > -----
> > > touch f
> > > ln -s f l
> > > setfattr -n user.filename -v ascii1 f l
> > > setfattr -h -n user.filename -v ascii2 f
> > > getfattr -d f l
> > > setfattr -h -n user.filename -v ascii3 l
> > > setfattr -h --no-dereference -n user.filename -v ascii4 l

I'm sorry -- I missed the above "--no-dereference"; that's why
my point below becomes relevant.

> > > getfattr -d f l
> > >
> > > so, my question is : what is expected ?
> should have added this:
>
> [root@t20 acl]# show
> # file: f
> user.filename="ascii2"
>
> # file: l
> user.filename="ascii2"
>
> setfattr: l: Operation not permitted
> setfattr: l: Operation not permitted
> # file: f
> user.filename="ascii2"
>
> # file: l
> user.filename="ascii2"
>
> [root@t20 acl]#

But note the following:

> > attr(5) specifically notes that USER EAs are disallowed on
> > symbolic links, but this is rather an issu that affects the
> > use of lsetxattr(2).

or setfattr if you specify "--no-dereference"...

There is a reason for this restriction: for a symbolic link, all
permissions are enabled for all users, and these permissions
cannot be changed. This means that permissions cannot be used (as
they would be with regular files) to prevent arbitrary users from
placing user EAs on a symbolic link. Thus all users are
prevented from creating user EAs on the symbolic link.

Michael


--
+++ Jetzt WLAN-Router für alle DSL-Einsteiger und Wechsler +++
GMX DSL-Powertarife zudem 3 Monate gratis* http://www.gmx.net/dsl

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/