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

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
ACCESS(2)		  FreeBSD System Calls Manual		     ACCESS(2)

NAME
     access -- check access permissions	of a file or pathname

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <unistd.h>

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

DESCRIPTION
     The access() function checks the accessibility of the file	named by path
     for the access permissions	indicated by mode.  The	value of mode is the
     bitwise inclusive OR of the access	permissions to be checked (R_OK	for
     read permission, W_OK for write permission	and X_OK for execute/search
     permission) or the	existence test,	F_OK.  All components of the pathname
     path are checked for access permissions (including	F_OK).

     The real user ID is used in place of the effective	user ID	and the	real
     group access list (including the real group ID) are used in place of the
     effective ID for verifying	permission.

     Even if a process has appropriate privileges and indicates	success	for
     X_OK, the file may	not actually have execute permission bits set.	Like-
     wise for R_OK and W_OK.

RETURN VALUES
     If	path cannot be found or	if any of the desired access modes would not
     be	granted, then a	-1 value is returned; otherwise	a 0 value is returned.

ERRORS
     Access to the file	is denied if:

     [ENOTDIR]		A component of the path	prefix is not a	directory.

     [ENAMETOOLONG]	A component of a pathname exceeded 255 characters, or
			an entire path name exceeded 1023 characters.

     [ENOENT]		The named file does not	exist.

     [ELOOP]		Too many symbolic links	were encountered in translat-
			ing the	pathname.

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

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

     [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.  The owner of a file has
			permission checked with	respect	to the ``owner'' read,
			write, and execute mode	bits, members of the file's
			group other than the owner have	permission checked
			with respect to	the ``group'' mode bits, and all oth-
			ers have permissions checked with respect to the
			``other'' mode bits.

     [EFAULT]		Path points outside the	process's allocated address
			space.

     [EIO]		An I/O error occurred while reading from or writing to
			the file system.

SEE ALSO
     chmod(2), stat(2)

STANDARDS
     The access() function call	is expected to conform to ISO/IEC 9945-1:1990
     (``POSIX.1'').

CAVEAT
     Access() is a potential security hole and should never be used.

HISTORY
     An	access() function call appeared	in Version 7 AT&T UNIX.

FreeBSD	9.2			 April 1, 1994			   FreeBSD 9.2

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | CAVEAT | HISTORY

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=access&sektion=2&manpath=FreeBSD+4.7-RELEASE>

home | help