xref: /illumos-gate/usr/src/man/man3sec/acl_strip.3sec (revision 458f44a49dc56cd17a39815122214e7a1b4793e3)
te
Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
ACL_STRIP 3SEC "Oct 6, 2005"
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)