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