ATTR(1) | XFS Compatibility API | ATTR(1) |
attr - extended attributes on filesystem objects
attr [ -LRSq ] -s attrname [ -V attrvalue ] pathname attr [ -LRSq ] -g attrname pathname attr [ -LRSq ] -r attrname pathname attr [ -LRSq ] -l pathname
Extended attributes implement the ability for a user to attach name:value pairs to objects within the filesystem.
This document describes the attr command, which is mostly compatible with the IRIX command of the same name. It was originally aimed specifically at users of the XFS filesystem, even though it can be used now on any filesystem that supports extended attributes, but for the generic and more portable interface for filesystem independent extended attribute manipulation, consult the getfattr(1) and setfattr(1) documentation.
Extended attributes can be used to store meta-information about the file. For example "character-set=kanji" could tell a document browser to use the Kanji character set when displaying that document and "thumbnail=..." could provide a reduced resolution overview of a high resolution graphic image.
In supported filesystems, the names can be up to 256 bytes in length, terminated by the first 0 byte. The intent is that they be printable ASCII (or other character set) names for the attribute. The values can be up to 64KB of arbitrary binary data.
Attributes can be attached to all types of inodes: regular files, directories, symbolic links, device nodes, etc.
Extended attributes use 2 disjoint attribute name spaces associated with every filesystem object. They are the root and user address spaces. The root address space is accessible only to the superuser, and then only by specifying a flag argument to the function call. Other users will not see or be able to modify attributes in the root address space. The user address space is protected by the normal file permissions mechanism, so the owner of the file can decide who is able to see and/or modify the value of attributes on any particular file.
The attr utility allows the manipulation of extended attributes associated with filesystem objects from within shell scripts.
There are four main operations that attr can perform:
When the -L option is given and the named object is a symbolic link, operate on the attributes of the object referenced by the symbolic link. Without this option, operate on the attributes of the symbolic link itself.
When the -R option is given and the process has appropriate privileges, operate in the root attribute namespace rather that the USER attribute namespace.
The -S option is similar, except it specifies use of the security attribute namespace.
When the -q option is given attr will try to keep quiet. It will output error messages (to stderr) but will not print status messages (to stdout).
The standard file interchange/archive programs tar(1), and cpio(1) will not archive or restore extended attributes, while the xfsdump(8) program will.
The list option present in the IRIX version of this command is not supported. getfattr provides a mechanism to retrieve all of the attribute names.
Andreas Gruenbacher, <a.gruenbacher@bestbits.at> and the SGI XFS development team, <linux-xfs@oss.sgi.com>.
Please send your bug reports or comments to <https://savannah.nongnu.org/bugs/?group=attr> or <acl-devel@nongnu.org>.
getfattr(1), setfattr(1), attr_get(3), attr_set(3), attr_multi(3), attr_remove(3), attr(5), xfsdump(8)
Extended Attributes | Dec 2001 |