diff options
Diffstat (limited to 'man2/access.2')
| -rw-r--r-- | man2/access.2 | 108 |
1 files changed, 56 insertions, 52 deletions
diff --git a/man2/access.2 b/man2/access.2 index d3deeecba0..b80b201d87 100644 --- a/man2/access.2 +++ b/man2/access.2 @@ -275,21 +275,65 @@ Write permission was requested for a file on a read-only filesystem. Write access was requested to an executable which is being executed. .SH VERSIONS +If the calling process has appropriate privileges (i.e., is superuser), +POSIX.1-2001 permits an implementation to indicate success for an +.B X_OK +check even if none of the execute file permission bits are set. +.\" HPU-UX 11 and Tru64 5.1 do this. +Linux does not do this. +.\" +.SS C library/kernel differences +The raw .BR faccessat () -was added in Linux 2.6.16; -library support was added in glibc 2.4. -.PP -.BR faccessat2 () -was added in Linux 5.8. +system call takes only the first three arguments. +The +.B AT_EACCESS +and +.B AT_SYMLINK_NOFOLLOW +flags are actually implemented within the glibc wrapper function for +.BR faccessat (). +If either of these flags is specified, then the wrapper function employs +.BR fstatat (2) +to determine access permissions, but see BUGS. +.\" +.SS glibc notes +On older kernels where +.BR faccessat () +is unavailable (and when the +.B AT_EACCESS +and +.B AT_SYMLINK_NOFOLLOW +flags are not specified), +the glibc wrapper function falls back to the use of +.BR access (). +When +.I pathname +is a relative pathname, +glibc constructs a pathname based on the symbolic link in +.I /proc/self/fd +that corresponds to the +.I dirfd +argument. .SH STANDARDS -.BR access (): -SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008. -.PP -.BR faccessat (): +.TP +.BR access () +.TQ +.BR faccessat () POSIX.1-2008. -.PP -.BR faccessat2 (): -Linux-specific. +.TP +.BR faccessat2 () +Linux. +.SH HISTORY +.TP +.BR access () +SVr4, 4.3BSD, POSIX.1-2001. +.TP +.BR faccessat () +Linux 2.6.16, +glibc 2.4. +.TP +.BR faccessat2 () +Linux 5.8. .SH NOTES .BR Warning : Using these calls to check if a user is authorized to, for example, @@ -316,13 +360,6 @@ is denied, even if some of the other access types in .I mode are permitted. .PP -If the calling process has appropriate privileges (i.e., is superuser), -POSIX.1-2001 permits an implementation to indicate success for an -.B X_OK -check even if none of the execute file permission bits are set. -.\" HPU-UX 11 and Tru64 5.1 do this. -Linux does not do this. -.PP A file is accessible only if the permissions on each of the directories in the path prefix of .I pathname @@ -346,39 +383,6 @@ which checks permissions. (NFS versions 3 and higher perform the check on the server.) Similar problems can occur to FUSE mounts. .\" -.\" -.SS C library/kernel differences -The raw -.BR faccessat () -system call takes only the first three arguments. -The -.B AT_EACCESS -and -.B AT_SYMLINK_NOFOLLOW -flags are actually implemented within the glibc wrapper function for -.BR faccessat (). -If either of these flags is specified, then the wrapper function employs -.BR fstatat (2) -to determine access permissions, but see BUGS. -.\" -.SS glibc notes -On older kernels where -.BR faccessat () -is unavailable (and when the -.B AT_EACCESS -and -.B AT_SYMLINK_NOFOLLOW -flags are not specified), -the glibc wrapper function falls back to the use of -.BR access (). -When -.I pathname -is a relative pathname, -glibc constructs a pathname based on the symbolic link in -.I /proc/self/fd -that corresponds to the -.I dirfd -argument. .SH BUGS Because the Linux kernel's .BR faccessat () |
