# xattr – Manage user defined extended attributes

- Synopsis
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Manages filesystem user defined extended attributes.
- Requires that extended attributes are enabled on the target filesystem and that the setfattr/getfattr utilities are present.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

follow
boolean

Choices:
- no
- yes ←

If `yes`, dereferences symlinks and sets/gets attributes on symlink target, otherwise acts on symlink itself.

key string |  | The name of a specific Extended attribute key to set/retrieve.
namespace string added in 2.7 | Default: "user" | Namespace of the named name/key.
path path / required |  | The full path of the file/object to get the facts of. Before 2.3 this option was only usable as name. aliases: name

state
string

Choices:
- absent
- all
- keys
- present
- read ←

defines which state you want to do. `read` retrieves the current value for a `key` (default) `present` sets `name` to `value`, default if value is set `all` dumps all data `keys` retrieves all keys `absent` deletes the key

value string |  | The value to set the named name/key to, it automatically sets the `state` to 'set'.

## Notes

Note

- As of Ansible 2.3, the name option has been changed to path as default, but name still works as well.

## Examples

    - name: Obtain the extended attributes  of /etc/foo.conf
      xattr:
        path: /etc/foo.conf

    - name: Set the key 'user.foo' to value 'bar'
      xattr:
        path: /etc/foo.conf
        key: foo
        value: bar

    - name: Set the key 'trusted.glusterfs.volume-id' to value '0x817b94343f164f199e5b573b4ea1f914'
      xattr:
        path: /mnt/bricks/brick1
        namespace: trusted
        key: glusterfs.volume-id
        value: "0x817b94343f164f199e5b573b4ea1f914"

    - name: Remove the key 'user.foo'
      xattr:
        path: /etc/foo.conf
        key: foo
        state: absent

    - name: Remove the key 'trusted.glusterfs.volume-id'
      xattr:
        path: /mnt/bricks/brick1
        namespace: trusted
        key: glusterfs.volume-id
        state: absent

## Status

- This module is guaranteed to have backward compatible interface changes going forward. [stableinterface]
- This module is maintained by the Ansible Community. [community]

### Authors

- Brian Coca (@bcoca)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.