ACLSORT(3SEC) File Access Control Library Functions ACLSORT(3SEC)

NAME


aclsort - sort an ACL

SYNOPSIS


cc [ flag ... ] file ... -lsec [ library ... ]
#include <sys/acl.h>

int aclsort(int nentries, int calclass, aclent_t *aclbufp);


DESCRIPTION


The aclbufp argument points to a buffer containing ACL entries. The
nentries argument specifies the number of ACL entries in the buffer.
The calclass argument, if non-zero, indicates that the CLASS_OBJ (ACL
mask) permissions should be recalculated. The union of the permission
bits associated with all ACL entries in the buffer other than
CLASS_OBJ, OTHER_OBJ, and USER_OBJ is calculated. The result is
copied to the permission bits associated with the CLASS_OBJ entry.


The aclsort() function sorts the contents of the ACL buffer as
follows:

o Entries will be in the order USER_OBJ, USER, GROUP_OBJ,
GROUP, CLASS_OBJ (ACL mask), OTHER_OBJ, DEF_USER_OBJ,
DEF_USER, DEF_GROUP_OBJ, DEF_GROUP, DEF_CLASS_OBJ (default
ACL mask), and DEF_OTHER_OBJ.

o Entries of type USER, GROUP, DEF_USER, and DEF_GROUP will
be sorted in increasing order by ID.


The aclsort() function will succeed if all of the following are true:

o There is exactly one entry each of type USER_OBJ,
GROUP_OBJ, CLASS_OBJ (ACL mask), and OTHER_OBJ.

o There is exactly one entry each of type DEF_USER_OBJ,
DEF_GROUP_OBJ, DEF_CLASS_OBJ (default ACL mask), and
DEF_OTHER_OBJ if there are any default entries.

o Entries of type USER, GROUP, DEF_USER, or DEF_GROUP may
not contain duplicate entries. A duplicate entry is one of
the same type containing the same numeric ID.

RETURN VALUES


Upon successful completion, the function returns 0. Otherwise, it
returns -1.

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | Unsafe |
+--------------------+-----------------+

SEE ALSO


acl(2), aclcheck(3SEC), attributes(7)

December 10, 2001 ACLSORT(3SEC)

tribblix@gmail.com :: GitHub :: Privacy