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

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.

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)

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 ⟨a.gruenbacher@bestbits.at⟩.

Referenced By

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

March 23, 2002