acl_set(3)

NAME

acl_set_fd, acl_set_fd_np, acl_set_file, acl_set_link_np
set an ACL for
a file

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <sys/types.h>
#include <sys/acl.h>
int
acl_set_fd(int fd, acl_t acl);
int
acl_set_fd_np(int fd, acl_t acl, acl_type_t type);
int
acl_set_file(const  char  *path_p,  acl_type_t  type,  acl_t
acl);
int
acl_set_link_np(const char *path_p, acl_type_t  type,  acl_t
acl);

DESCRIPTION

The acl_set_fd(), acl_set_fd_np(), acl_set_file(), and
acl_set_link_np()
each associate an ACL with an object referred to by fd or
path_p. The
acl_set_fd_np() and acl_set_link_np() functions are not
POSIX.1e calls.
The acl_set_fd() function allows only the setting of ACLs of
type
ACL_TYPE_ACCESS where as acl_set_fd_np() allows the setting
of ACLs of
any type. The acl_set_link_np() function acts on a symlink
rather than
its target, if the target of the path is a symlink.

IMPLEMENTATION NOTES

FreeBSD's support for POSIX.1e interfaces and features is
still under
development at this time.

RETURN VALUES

The function returns the value 0 if successful; otherwise
the value -1 is
returned and the global variable errno is set to indicate
the error.

ERRORS

If any of the following conditions occur, these functions
shall return -1
and set errno to the corresponding value:
[EACCES] Search permission is denied for a compo
nent of the
path prefix, or the object exists and the
process does
not have appropriate access rights.
[EBADF] The fd argument is not a valid file de
scriptor.
[EINVAL] Argument acl does not point to a valid
ACL for this
object, or the ACL type specified in type
is invalid
for this object, or both.
[ENAMETOOLONG] A component of a pathname exceeded 255
characters, or
an entire path name exceeded 1023 charac
ters.
[ENOENT] The named object does not exist, or the
path_p argu
ment points to an empty string.
[ENOMEM] Insufficient memory available to fulfill
request.
[ENOSPC] The directory or file system that would
contain the
new ACL cannot be extended, or the file
system is out
of file allocation resources.
[EOPNOTSUPP] The file system does not support ACL re
trieval.
[EROFS] This function requires modification of a
file system
which is currently read-only.

SEE ALSO

acl(3), acl_delete(3), acl_get(3), acl_valid(3), posix1e(3)

STANDARDS

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
information.

HISTORY

POSIX.1e support was introduced in FreeBSD 4.0, and develop
ment continues.

AUTHORS

Robert N M Watson
BSD December 29, 2002
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout