*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> access (2)              
Title
Content
Arch
Section
 

ACCESS(2)

Contents


NAME    [Toc]    [Back]

     access - check access permissions of a file or pathname

SYNOPSIS    [Toc]    [Back]

     #include <unistd.h>

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

DESCRIPTION    [Toc]    [Back]

     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) is  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.  Likewise
 for R_OK and W_OK.

RETURN VALUES    [Toc]    [Back]

     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    [Toc]    [Back]

     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  {NAME_MAX}
characters,
                   or  an  entire  path  name exceeded {PATH_MAX}
characters.

     [ENOENT]      The named file does not exist.

     [ELOOP]       Too many symbolic links  were  encountered  in
translating 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  others 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.

     [EINVAL]      An invalid value was specified for mode.

SEE ALSO    [Toc]    [Back]

      
      
     chmod(2), stat(2)

STANDARDS    [Toc]    [Back]

     The access()  function  conforms  to  IEEE  Std  1003.1-1990
(``POSIX'').

CAVEATS    [Toc]    [Back]

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

OpenBSD     3.6                           April      1,      1994
[ Back ]
 Similar pages
Name OS Title
VOP_ACCESS FreeBSD check access permissions of a file or Unix domain socket
vaccess OpenBSD check access permissions based on vnode parameters
access Linux check user's permissions for a file
uucheck IRIX check the uucp directories and permissions file
uucheck HP-UX check the uucp directories and permissions file
chmod Tru64 Change file access permissions
chmod Linux change file access permissions
fchmod Tru64 Change file access permissions
chmod HP-UX change file mode access permissions
chmod HP-UX change file mode access permissions
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service