Skip to contentSkip to conversation

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

DISCUSSION Jacky Malcles 2 participants 5 messages Jun 30, 2004

lore
Share & tools
lore
#0 lore raw

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"

reading the man pages of setfattr (or attr) I thought that it operates on the attributes of the symbolic link itself.

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 getfattr -d f l

so, my question is : what is expected ?
I've
libattr-devel-2.2.0-1
libattr-2.2.0-1
attr-2.2.0-1
and a 2.6.7 kernel

many thanks,
regards,

Signature · 3 lines
 Jacky Malcles    	     B1-403   Email : [email protected]
 Bull SA, 1 rue de Provence, B.P 208, 38432 Echirolles CEDEX, FRANCE
 Tel : 04.76.29.73.14
#1 lore raw

Gidday,

Quoted 5 lines

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.)

Quoted 2 lines

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.

Quoted 11 lines

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 getfattr -d f l

Quoted 1 line

so, my question is : what is expected ?

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).

Cheers,

Michael

Signature · 2 lines
"Sie haben neue Mails!" - Die GMX Toolbar informiert Sie beim Surfen!
Jetzt aktivieren unter http://www.gmx.net/info
#2 lore raw
Quoted 6 lines · Michael Kerrisk

Gidday,

Quoted 3 lines

I have a question regarding
Attributes of symlinks vs. the files pointed to

Quoted 6 lines
Quoted 2 lines

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...
Quoted 18 lines
Quoted 3 lines

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.

Quoted 12 lines

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 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]#

Quoted 18 lines

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).

Cheers,

Michael

--
"Sie haben neue Mails!" - Die GMX Toolbar informiert Sie beim Surfen! Jetzt aktivieren unter http://www.gmx.net/info

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

Signature · 3 lines
 Jacky Malcles    	     B1-403   Email : [email protected]
 Bull SA, 1 rue de Provence, B.P 208, 38432 Echirolles CEDEX, FRANCE
 Tel : 04.76.29.73.14
#3 lore raw

Salut Jacky,

Quoted 6 lines
Quoted 6 lines
Quoted 5 lines

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"

Quoted 7 lines
Quoted 3 lines

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.

Quoted 5 lines
Quoted 5 lines
Quoted 2 lines

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.

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

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.

Quoted 17 lines
Quoted 3 lines
Quoted 3 lines

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"

Quoted 4 lines

# file: l
user.filename="ascii2"

[root@t20 acl]#

But note the following:

Quoted 3 lines
Quoted 3 lines

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

Signature · 2 lines
+++ Jetzt WLAN-Router für alle DSL-Einsteiger und Wechsler +++
GMX DSL-Powertarife zudem 3 Monate gratis* http://www.gmx.net/dsl
#4 lore raw
In reply to Michael Kerrisk
Quoted 9 lines · Michael Kerrisk

Gidday,

Quoted 5 lines

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"

Quoted 22 lines

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.)

Quoted 2 lines

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.

Quoted 12 lines

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 getfattr -d f l

so, my question is : what is expected ?

thanks Michael,
below is what I was trying to find out !!

Quoted 17 lines

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).

Cheers,

Michael

--
"Sie haben neue Mails!" - Die GMX Toolbar informiert Sie beim Surfen! Jetzt aktivieren unter http://www.gmx.net/info

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

Signature · 3 lines
 Jacky Malcles    	     B1-403   Email : [email protected]
 Bull SA, 1 rue de Provence, B.P 208, 38432 Echirolles CEDEX, FRANCE
 Tel : 04.76.29.73.14