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(7) 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(7),
attributes(7) October 6, 2005
ACL_STRIP(3SEC)