aboutsummaryrefslogtreecommitdiffstats
path: root/man2/access.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/access.2')
-rw-r--r--man2/access.2108
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 ()