acltotext, aclfromtext - convert internal representation to or from external
representation
cc [ flag... ] file... -lsec [ library... ]
#include <sys/acl.h>
char *acltotext(aclent_t *aclbufp, int aclcnt);
aclent_t *aclfromtext(char *acltextp, int *aclcnt);
The acltotext() function converts an internal ACL representation
pointed to by aclbufp into an external ACL representation. The
space for the external text string is obtained using malloc(3C). The
caller is responsible for freeing the space upon completion.
The aclfromtext() function converts an external ACL
representation pointed to by acltextp into an internal ACL
representation. The space for the list of ACL entries is obtained
using malloc(3C). The caller is responsible for freeing the space
upon completion. The aclcnt argument indicates the number of
ACL entries found.
An external ACL representation is defined as follows:
<acl_entry>[,<acl_entry>]...
Each <acl_entry> contains one ACL entry. The external
representation of an ACL entry contains two or three colon-separated
fields. The first field contains the ACL entry tag type. The entry
type keywords are defined as:
user
This ACL entry with no UID specified in the
ACL entry ID field specifies the access granted to the owner of
the object. Otherwise, this ACL entry specifies the access granted to a
specific user-name or user-id number.
group
This ACL entry with no GID specified in the
ACL entry ID field specifies the access granted to the owning
group of the object. Otherwise, this ACL entry specifies the access
granted to a specific group-name or group-id number.
other
This ACL entry specifies the access granted to any
user or group that does not match any other ACL entry.
mask
This ACL entry specifies the maximum access
granted to user or group entries.
default:user
This ACL entry with no uid specified in the
ACL entry ID field specifies the default access granted to the
owner of the object. Otherwise, this ACL entry specifies the default
access granted to a specific user-name or user-ID number.
default:group
This ACL entry with no gid specified in the
ACL entry ID field specifies the default access granted to the
owning group of the object. Otherwise, this ACL entry specifies the
default access granted to a specific group-name or group-ID
number.
default:other
This ACL entry specifies the default access for
other entry.
default:mask
This ACL entry specifies the default access for
mask entry.
The second field contains the ACL entry ID, as
follows:
uid
This field specifies a user-name, or user-ID if
there is no user-name associated with the user-ID number.
gid
This field specifies a group-name, or group-ID if
there is no group-name associated with the group-ID number.
empty
This field is used by the user and group ACL entry
types.
The third field contains the following symbolic discretionary
access permissions:
r
read permission
w
write permission
x
execute/search permission
−
no access
Upon successful completion, the acltotext() function returns a pointer to
a text string. Otherwise, it returns NULL.
Upon successful completion, the aclfromtext() function
returns a pointer to a list of ACL entries. Otherwise, it returns
NULL.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
Interface Stability |
Evolving |
MT-Level |
Unsafe |
acl(2), malloc(3C), attributes(5)