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:
- Test for read permission.
- Test for write permission.
- Test for execute or search permission.
- 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 process has appropriate privileges, an implementation may indicate success for X_OK even if none of the execute file permission bits are set.