ACL_DELETE_PERM(3) Library Functions Manual ACL_DELETE_PERM(3)

delete a permission from an ACL permission set

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

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

acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm);

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.

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

If any of the following conditions occur, the acl_delete_perm() function returns -1 and sets errno to the corresponding value:
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.

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

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

Derived from the FreeBSD manual pages written by Robert N M Watson ⟨⟩, and adapted for Linux by Andreas Gruenbacher ⟨⟩.
March 23, 2002 Linux ACL