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


NAME


acl_strip - remove all ACLs from a file

SYNOPSIS


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

int acl_strip(const char *path, uid_t uid, gid_t gid, mode_t mode);


DESCRIPTION


The acl_strip() function removes all ACLs from a file and replaces them
with a trivial ACL based on the mode argument. After replacing the ACL,
the owner and group of the file are set to the values specified by the
uid and gid arguments.

RETURN VALUES


Upon successful completion, acl_strip() returns 0. Otherwise it returns
-1 and sets errno to indicate the error.

ERRORS


The acl_strip() function will fail if:

EACCES
Search permission is denied on a component of the path
prefix of path.


EFAULT
The path argument points to an illegal address.


EINVAL
The uid or gid argument is out of range.


EIO
A disk I/O error has occurred while storing or retrieving
the ACL.


ELOOP
A loop exists in symbolic links encountered during the
resolution of the path argument.


ENAMETOOLONG
The length of the path argument exceeds {PATH_MAX}, or
the length of a path component exceeds {NAME_MAX} while
_POSIX_NO_TRUNC is in effect.


ENOENT
A component of path does not exist.


ENOTDIR
A component of the prefix of path is not a directory.


EPERM
The effective user ID does not match the owner of the
file and the process does not have appropriate
privileges.


EROFS
The file system is mounted read-only.


ATTRIBUTES


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


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

SEE ALSO


acl_get(3SEC), acl_trivial(3SEC), acl(5), attributes(5)


October 6, 2005 ACL_STRIP(3SEC)