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

FreeBSD Manual Pages

  
 
  

home | help
access(2)			 System	Calls			     access(2)

NAME
       access -	determine accessibility	of a file

SYNOPSIS
       #include	<unistd.h>

       int access(const	char *path, int	amode);

DESCRIPTION
       The  access() function checks the file named by the pathname pointed to
       by the path argument for	accessibility according	 to  the  bit  pattern
       contained  in  amode,  using the	real user ID in	place of the effective
       user ID and the real group ID in	place of the effective group ID.  This
       allows  a  setuid process to verify that	the user running it would have
       had permission to access	this file.

       The value of amode is either the	bitwise	inclusive  OR  of  the	access
       permissions  to	be  checked  (R_OK, W_OK, X_OK)	or the existence test,
       F_OK.

       These constants are defined in <unistd.h> as follows:

       R_OK	Test for read permission.

       W_OK	Test for write permission.

       X_OK	Test for execute or search permission.

       F_OK	Check existence	of file

       See intro(2) for	additional information about "File Access Permission".

       If any access permissions are to	be checked, each will be checked indi-
       vidually,  as  described	 in  intro(2).	If the process has appropriate
       privileges, an implementation may indicate success  for	X_OK  even  if
       none of the execute file	permission bits	are set.

RETURN VALUES
       If  the requested access	is permitted, access() succeeds	and returns 0.
       Otherwise, -1 is	returned and errno is set to indicate the error.

ERRORS
       The access() function will fail if:

       EACCES		       Permission bits of the file mode	do not	permit
			       the  requested  access, or search permission is
			       denied on a component of	the path prefix.

       EFAULT		       path points to an illegal address.

       EINTR		       A signal	was caught during the  access()	 func-
			       tion.

       ELOOP		       Too many	symbolic links were encountered	in re-
			       solving path.

       ELOOP		       A loop exists  in  symbolic  links  encountered
			       during resolution of the	path argument.

       ENAMETOOLONG	       The   length   of  the  path  argument  exceeds
			       {PATH_MAX}, or a	pathname component  is	longer
			       than {NAME_MAX} while _POSIX_NO_TRUNC is	in ef-
			       fect.

       ENOENT		       A component of path does	not name  an  existing
			       file or path is an empty	string.

       ENOLINK		       path points to a	remote machine and the link to
			       that machine is no longer active.

       ENOTDIR		       A component of the path prefix is not a	direc-
			       tory.

       EROFS		       Write access is requested for a file on a read-
			       only file system.

       The access() function may fail if:

       EINVAL		       The value of the	amode argument is invalid.

       ENAMETOOLONG	       Pathname	resolution of a	symbolic link produced
			       an  intermediate	 result	 whose	length exceeds
			       {PATH_MAX}.

       ETXTBSY		       Write access is requested for a pure  procedure
			       (shared text) file that is being	executed.

USAGE
       Additional  values  of amode other than the set defined in the descrip-
       tion might be valid, for	example, if a system has extended access  con-
       trols.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Async-Signal-Safe		   |
       +-----------------------------+-----------------------------+

SEE ALSO
       intro(2), chmod(2), stat(2), attributes(5), standards(5)

SunOS 5.10			  23 Apr 2002			     access(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=access&sektion=2&manpath=SunOS+5.10>

home | help