access(2) access(2)
NAME
access - determine accessibility of a file
SYNOPSIS
int access (path, amode)
char* path;
int amode;
DESCRIPTION
path points to a path name naming a file. access checks the
named file 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. The bit pattern contained in amode is
constructed as follows:
04 read
02 write
01 execute (search)
00 check existence of file
Access to the file is denied if one or more of the following
are true:
[ENOTDIR] A component of the path prefix is not a
directory.
[ENOENT] Read, write, or execute (search) permission is
requested for a null path name.
[ENOENT] The named file does not exist.
[EACCES] Search permission is denied on a component of
the path prefix.
[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 that is being executed.
Note: If you are running an NFS system and you
are accessing a shared binary remotely, it is
possible that you will not get this errno.
[EACCESS] Permission bits of the file mode do
not permit the requested access.
[EFAULT] path points outside the allocated address space
for the process.
The owner of a file has permission checked with respect to
Page 1 (last mod. 1/15/87)
access(2) access(2)
the ``owner'' read, write, and execute mode bits Members of
the file's group other than the owner have permissions
checked with respect to the ``group'' mode bits,
and all others have permissions checked with respect to the
``other'' mode bits.
The super-user is always granted execute permission even
though (1) execute permission is meaningful only for
directories and regular files, and (2) exec requires that at
least one execute mode bit be set for regular file to be
executable.
Notice that it is only access bits that are checked. A
directory may be announced as writable by access, but an
attempt to open it for writing will fail because it is not
allowed to write into the directory structure itself,
although files may be created there. A file may look
executable, but exec will fail unless it is in proper
format.
RETURN VALUE
If the requested access is permitted, a value of 0 is
returned. Otherwise, a value of -1 is returned and errno is
set to indicate the error.
SEE ALSO
chmod(2), stat(2).
Page 2 (last mod. 1/15/87)