acl_delete_perm(3)

acl_delete_perm3

Delete a permission from an acl permission set

Usage

#include <sys/types.h>

#include <sys/acl.h>

int

acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm);

Library

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

Overview

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.

Releases

13 releases since Debian 3.0 (Woody); the text changed 5 times.

  1. 3.0–3.1
  2. 4.0–5.0
  3. 6.0–9
  4. 10
  5. 11–13
  6. Arch

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.

Author

Derived from the FreeBSD manual pages written by Robert N M Watson ⟨[email protected]⟩, and adapted for Linux by Andreas Gruenbacher ⟨[email protected]⟩.

From acl 2.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.