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 individually, as described in intro(2). If the pro-
cess has appropriate privileges, an implementation may indi-
cate success for X_OK even if none of the execute file per-
mission 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() function.
ELOOP Too many symbolic links were encountered in resolving
path.
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 effect.
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 directory.
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
description may be valid, for example, if a system has
extended access controls.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT-Level | Async-Signal-Safe |
|_____________________________|_____________________________|
SEE ALSO
intro(2), chmod(2), stat(2), attributes(5)
Man(1) output converted with
man2html