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


NAME


acltotext, aclfromtext - convert internal representation to or from
external representation

SYNOPSIS


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

char *acltotext(aclent_t *aclbufp, int aclcnt);


aclent_t *aclfromtext(char *acltextp, int *aclcnt);


DESCRIPTION


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


RETURN VALUES


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.

ATTRIBUTES


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


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

SEE ALSO


acl(2), malloc(3C), attributes(5)


December 10, 2001 ACLTOTEXT(3SEC)