FreeBSD 4.7 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

acl_from_text - create an ACL from text



      acl_from_text - create an ACL from text


      library “libposix1e”


      #include <sys/types.h>
      #include <sys/acl.h>
      acl_from_text(const char *buf_p);


      The acl_from_text() function converts the text form of an ACL referred to
      by buf_p into the internal working structure for ACLs, appropriate for
      applying to files or manipulating.
      This function may cause memory to be allocated.  The caller should free
      any releasable memory, when the new ACL is no longer required, by calling
      acl_free(3) with the (void *)acl_t as an argument.
      FreeBSD’s support for POSIX.1e interfaces and features is still under
      development at this time.
      Upon successful completion, the function shall return a pointer to the
      internal representation of the ACL in working storage.  Otherwise, a
      value of (acl_t)NULL shall be returned, and errno shall be set to indi‐
      cate the error.


      If any of the following conditions occur, the acl_from_text() function
      shall return a value of (acl_t)NULL and set errno to the corresponding
      [EACCES]           Search permission is denied for a component of the
                         path prefix, or the object exists and the process does
                         not have appropriate access rights.
      [EINVAL]           Argument buf_p cannot be translated into an ACL.
      [ENOMEM]           The ACL working storage requires more memory than is
                         allowed by the hardware or system-imposed memory man‐
                         agement constraints.
      acl(3), acl_free(3), acl_get(3), acl_to_text(3), posix1e(3)


      POSIX.1e is described in IEEE POSIX.1e draft 17.  Discussion of the draft
      continues on the cross-platform POSIX.1e implementation mailing list.  To
      join this list, see the FreeBSD POSIX.1e implementation page for more


      POSIX.1e support was introduced in FreeBSD 4.0, and development contin‐


      Robert N M Watson


      These features are not yet fully implemented.  In particular, the shipped
      version of UFS/FFS does not support storage of additional security
      labels, and so is unable to (easily) provide support for most of these
      acl_from_text() and acl_to_text() rely on the getpwent(3) library calls
      to manage username and uid mapping, as well as the getgrent(3) library
      calls to manage groupname and gid mapping.  These calls are not thread
      safe, and so transitively, neither are acl_from_text() and acl_to_text().
      These functions may also interfere with stateful calls associated with
      the getpwent() and getgrent() calls.


Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.