ACL_CHECK(3) BSD Library Functions Manual ACL_CHECK(3)


acl_check — check an ACL for validity


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


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


acl_check(acl_t acl, int *last);


The acl_check() function checks the ACL referred to by the argument acl for validity.

The three required entries ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER must exist exactly once in the ACL. If the ACL contains any ACL_USER or ACL_GROUP entries, then an ACL_MASK entry is also required. The ACL may contain at most one ACL_MASK entry.

The user identifiers must be unique among all entries of type ACL_USER. The group identifiers must be unique among all entries of type ACL_GROUP.

If the ACL referred to by acl is invalid, acl_check() returns a positive error code that indicates which type of error was detected. The following symbolic error codes are defined:


The ACL contains multiple entries that have a tag type that may occur at most once.


The ACL contains multiple ACL_USER entries with the same user ID, or multiple ACL_GROUP entries with the same group ID.


A required entry is missing.


The ACL contains an invalid entry tag type.

The acl_error() function can be used to translate error codes to text messages.

In addition, if the pointer last is not NULL, acl_check() assigns the number of the ACL entry at which the error was detected to the value pointed to by last. Entries are numbered starting with zero, in the order in which they would be returned by the acl_get_entry() function.


If successful, the acl_check() function returns 0 if the ACL referred to by acl is valid, and a positive error code if the ACL is invalid. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.


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


The argument acl is not a valid pointer to an ACL.


This is a non-portable, Linux specific extension to the ACL manipulation functions defined in IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned).


acl_valid(3), acl(5)


Written by Andreas Gruenbacher ⟨⟩ .

Linux ACL March 23, 2002 Linux ACL

More Linux Commands

get_escdelay(3ncurses) - curses thread support (Man Page)...
This implementation can be configured to provide rudimentary support for multi-threaded applications. This makes a different set of libraries, e.g., libncursest

rstartd(1) - a sample implementation of a Remote Start rsh h
Rstartd is an implementation of a Remote Start helper as defined in A Flexible Remote Execution Protocol Based on rsh. This document describes the peculiarities

fstab-decode(8) - run a command with fstab-encoded arguments
fstab-decode decodes escapes in the specified ARGUMENTs and uses them to run COMMAND. The argument escaping uses the same rules as path escaping in /etc/fstab,

gdiffmk(1) - mark differences between groff/nroff/troff file
gdiffmk compares two groff(1), nroff(1), or troff(1) documents, file1 and file2, and creates an output which is file2 with added margin character (.mc) commands

recvfrom(2) - receive a message from a socket (Man Page)....
The recv(), recvfrom(), and recvmsg() calls are used to receive messages from a socket. They may be used to receive data on both connectionless and connection-o

pcre32_jit_exec(3) Perl-compatible regular expressions......
This function matches a compiled regular expression that has been successfully studied with one of the JIT options against a given subject string, using a match

glRasterPos4iv(3gl) - specify the raster position for pixel
The GL maintains a 3D position in window coordinates. This position, called the raster position, is used to position pixel and bitmap write operations. It is ma

mcheck_check_all(3) heap consistency checking (Man Page)....
The mcheck() function installs a set of debugging hooks for the malloc(3) family of memory-allocation functions. These hooks cause certain consistency checks to

dosfslabel(8) - set or get MS-DOS filesystem label (ManPage)
fatlabel set or gets a MS-DOS filesystem label from a given device. If the label is omitted, then the label name of the specified device is written on the stand

gnutls_privkey_get_type(3) - API function - Linux man page
This function will return the type of the private key. This is actually the type of the subsystem used to set this private key. RETURNS a member of the gnutls_p

XMatchVisualInfo(3) - obtain visual information and visual s
XMatchVisualInfo.3 - The XGetVisualInfo function returns a list of visual structures that have attributes equal to the attributes specified by vinfo_template. I

XcmsSetWhiteAdjustProc(3) - modifying CCC attributes........
The XcmsSetWhitePoint function changes the Client White Point in the specified CCC. Note that the pixel member is ignored and that the color specification is le

We can't live, work or learn in freedom unless the software we use is free.