ACL\_ADD\_PERM(3) Library Functions Manual ACL\_ADD\_PERM(3)

# [NAME](#NAME)

`acl_add_perm` — add a permission to an ACL permission set

# [LIBRARY](#LIBRARY)

Linux Access Control Lists library (libacl, -lacl).

# [SYNOPSIS](#SYNOPSIS)

`#include <sys/types.h>`  
`#include <sys/acl.h>`

`int`  
`acl_add_perm`(`acl_permset_t permset_d`, `acl_perm_t perm`);

# [DESCRIPTION](#DESCRIPTION)

The [`acl_add_perm`](#acl_add_perm)() function adds the permission contained in the argument `perm` (one of ACL\_READ, ACL\_WRITE, ACL\_EXECUTE) to the permission set referred to by the argument `permset_d`. An attempt to add a permission that is already contained in the permission set is not considered an error.

Any existing descriptors that refer to `permset_d` continue to refer to that permission set.

# [RETURN VALUE](#RETURN_VALUE)

The `acl_add_perm`() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable `errno` is set to indicate the error.

# [ERRORS](#ERRORS)

If any of the following conditions occur, the `acl_add_perm`() function returns `-1` and sets `errno` to the corresponding value:

\[[`EINVAL`](#EINVAL)]

The argument `permset_d` is not a valid descriptor for a permission set within an ACL entry.

The argument `perm` does not contain a valid `acl_perm_t` value.

# [STANDARDS](#STANDARDS)

IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)

In the Linux implementation, `perm` is a bitwise set of permissions that `acl_add_perm`() will all add at once. This use is not portable.

# [SEE ALSO](#SEE_ALSO)

[acl\_clear\_perms(3)](/man/os/acl/acl_clear_perms.3), [acl\_delete\_perm(3)](/man/os/acl/acl_delete_perm.3), [acl\_get\_perm(3)](/man/os/acl/acl_get_perm.3), [acl\_get\_permset(3)](/man/os/acl/acl_get_permset.3), [acl\_set\_permset(3)](/man/os/acl/acl_set_permset.3), [acl(5)](/man/os/acl/acl.5)

# [AUTHOR](#AUTHOR)

Derived from the FreeBSD manual pages written by Robert N M Watson ⟨rwatson@FreeBSD.org⟩, and adapted for Linux by Andreas Gruenbacher ⟨andreas.gruenbacher@gmail.com⟩.

March 23, 2002 Linux ACL

---

Document: acl_add_perm(3) from acl 2.4.0-r4 (Chainguard OS)
Source: https://git.savannah.nongnu.org/git/acl.git
