FreeBSD Manual Pages
ACL_SET(3) Library Functions Manual 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. Valid values for the type argument are: ACL_TYPE_ACCESS POSIX.1e access ACL ACL_TYPE_DEFAULT POSIX.1e default ACL ACL_TYPE_NFS4 NFSv4 ACL Trying to set ACL_TYPE_NFS4 with acl branded as POSIX.1e, or ACL_TYPE_ACCESS or ACL_TYPE_DEFAULT with ACL branded as NFSv4, will re- sult in error. IMPLEMENTATION NOTES FreeBSD's support for POSIX.1e interfaces and features is still under development at this time. RETURN VALUES Upon successful completion, the value 0 is returned; 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 component 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 descriptor. [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 there is branding mismatch. [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters. [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 retrieval. [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_get_brand_np(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 development contin- ues. AUTHORS Robert N M Watson FreeBSD 13.2 June 25, 2009 ACL_SET(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=acl_set_fd&sektion=3&manpath=FreeBSD+14.2-RELEASE+and+Ports>