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

FreeBSD Manual Pages

  
 
  

home | help
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_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 ob-
			ject, 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 argument
			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 continues.

AUTHORS
     Robert N M Watson

FreeBSD ports 15.quarterly	  June 25, 2009 		      ACL_SET(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=acl_set_file&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help