GETEXTATTR(1) | General Commands Manual | GETEXTATTR(1)

# NAME

`getextattr`, `lsextattr`, `rmextattr`, `setextattr` — manipulate extended attributes

# SYNOPSIS

`getextattr` | [`-fhq`] [`-s` | `-x` | `-v` style] [namespace] attrname filename ...

`lsextattr` | [`-fhq`] namespace filename ...

`rmextattr` | [`-fhq`] [namespace] attrname filename ...

`setextattr` | [`-fhnq`] [namespace] attrname attrvalue filename ...

`setextattr` | [`-fhnq`] `-i` valuefile [namespace] attrname filename ...

# DESCRIPTION

These utilities are user tools to manipulate the named extended attributes on files and directories.

The namespace argument should be the namespace of the attribute to retrieve: legal values are `user` and `system`. For all operations except `lsextattr`, the namespace argument may be omitted if the attribute name is namespace prefixed, like in `user.test`. In that later case, the `user` namespace prefix obviously selects `user` namespace. `system`, `security`, and `trusted` namespace prefixes select the `system` namespace.

The attrname argument should be the name of the attribute, filename the name of the target file or directory, attrvalue a string to store in the attribute.

The following options are available:

`-f`
  (Force.) Ignore errors on individual filenames and continue with the remaining arguments.
`-h`
  (No follow.) If the file is a symbolic link, perform the operation on the link itself rather than the file that the link points to.
`-i` valuefile
  (Input file.) Read the attribute value from file valuefile. Use this flag in order to set a binary value for an attribute.
`-n`
  (`NUL`-terminate.) `NUL`-terminate the extent content written out.
`-q`
  (Quiet.) Do not print out the pathname and suppress error messages.
`-s`
  (Stringify.) Escape nonprinting characters and put quotes around the output.
`-v` style
  (Visual.) Process the attribute value through vis(3), using style. Valid values for style are:
  default
    Use default vis(3) encoding.
  c
    Use C-style backslash sequences, like in `vis` `-c`.
  http
    Use URI encoding from RFC 1808, like in `vis` `-h`.
  octal
    Display in octal, like in `vis` `-o`.
  vis
    Alias for default.
  cstyle
    Alias for c.
  httpstyle
    Alias for http.
`-x`
  (Hex.) Print the output in hexadecimal.

# EXAMPLES

    setextattr system md5 `md5 -q /boot/kernel/kernel` /boot/kernel/kernel
    getextattr system md5 /boot/kernel/kernel
    lsextattr system /boot/kernel/kernel
    rmextattr system md5 /boot/kernel/kernel

Examples omitting namespace (and attribute value) argument:

    setextattr -i valuefile trusted.gfid /export/wd3a
    getextattr -x trusted.gfid /export/wd3a

# SEE ALSO

extattr(3), extattrctl(8), extattr(9)

# HISTORY

Extended attribute support was developed as part of the TrustedBSD Project, and introduced in FreeBSD 5.0 and NetBSD 3.0. It was developed to support security extensions requiring additional labels to be associated with each file or directory.

Extended attribute support was resurrected and made more usable in NetBSD 5.2.

# AUTHORS

Robert N M Watson
Poul-Henning Kamp
Emmanuel Dreyfus

January 2, 2005 | NetBSD 11.0