ACCESS
Section: Linux Programmer's Manual (2)
Updated: 21 August 1994
Index
Return to Main Contents
NAME
access - check user's permissions for a file
SYNOPSIS
#include <unistd.h>
int access(const char *pathname, int mode);
DESCRIPTION
access
checks whether the process would be allowed to read,
write or test for existence of the file (or other file system
object) whose name is
pathname.
mode
is a mask consisting of one or more of
R_OK, W_OK, X_OK and F_OK.
R_OK, W_OK and X_OK
request testing for reading, writing and executing the file,
respectively.
F_OK
requests checking whether merely testing for the existence of the file
would be allowed (this depends on the permissions of the directories
in the path to the file, as given in
pathname.)
The check is done with the process's
real
uid and gid, rather than with the effective ids as is done when
actually attempting an operation. This is to allow set-UID programs to
easily determine the invoking user's authority.
Only access bits are checked, not the file type or contents. Therefore, if
a directory is found to be "writable," it probably means that files can be
created in the directory, and not that the directory can be written as a
file. Similarly, a DOS file may be found to be "executable," but the
execve(2)
call will still fail.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and
errno
is set appropriately.
ERRORS
- EACCES
-
The requested access would be denied, either to the file itself or
one of the directories in
pathname.
- EFAULT
-
pathname points outside your accessible address space.
- EINVAL
-
mode was incorrectly specified.
- ENAMETOOLONG
-
pathname is too long.
- ENOENT
-
A directory component in
pathname
would have been accessible but does not exist or was a dangling
symbolic link.
- ENOTDIR
-
A component used as a directory in
pathname
is not, in fact, a directory.
- ENOMEM
-
Insufficient kernel memory was available.
- ELOOP
-
pathname
contains a reference to a circular symbolic link, i.e., a symbolic link
containing a reference to itself.
CONFORMING TO
SVID, AT&T, POSIX, X/OPEN, BSD 4.3
SEE ALSO
stat(2), open(2), chmod(2), chown(2),
setuid(2), setgid(2).
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 12:24:49 GMT, March 22, 2025