ACL_DELETE_PERM(3)

NAME
acl_delete_perm - delete a permission from an ACL permission set

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

SYNOPSIS
#include <sys/types.h>
#include <sys/acl.h>
int
acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm);

DESCRIPTION
The acl_delete_perm() function deletes the permission contained in the argument perm (one of ACL_READ, ACL_WRITE, ACL_EXECUTE) from the permission set referred to by the argument permset_d. An attempt to delete a permission that is not 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

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

[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
IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)

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

SEE ALSO
acl_add_perm(3), acl_clear_perms(3), acl_get_perm(3), acl_get_permset(3), acl_set_permset(3), acl(5)

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