Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ACL_SET(3)		 BSD 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_AC-
     CESS or ACL_TYPE_DEFAULT with ACL branded as NFSv4, will result in	error.

IMPLEMENTATION NOTES
     FreeBSD's support for POSIX.1e interfaces and features is still under de-
     velopment 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 in-
     formation.

HISTORY
     POSIX.1e support was introduced in	FreeBSD	4.0, and development contin-
     ues.

AUTHORS
     Robert N M	Watson

BSD				 June 25, 2009				   BSD

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+13.0-RELEASE+and+Ports>

home | help