]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/chown.2
man*/: srcfix (Use .P instead of .PP or .LP)
[thirdparty/man-pages.git] / man2 / chown.2
index 09cc2dce2d860033deebf4ae75282f98673180d7..ffba3acafac098f6c8665d205998205ca4607511 100644 (file)
@@ -24,32 +24,32 @@ Standard C library
 .SH SYNOPSIS
 .nf
 .B #include <unistd.h>
-.PP
+.P
 .BI "int chown(const char *" pathname ", uid_t " owner ", gid_t " group );
 .BI "int fchown(int " fd ", uid_t " owner ", gid_t " group );
 .BI "int lchown(const char *" pathname ", uid_t " owner ", gid_t " group );
-.PP
+.P
 .BR "#include <fcntl.h>           " "/* Definition of AT_* constants */"
 .B #include <unistd.h>
-.PP
+.P
 .BI "int fchownat(int " dirfd ", const char *" pathname ,
 .BI "             uid_t " owner ", gid_t " group ", int " flags );
 .fi
-.PP
+.P
 .RS -4
 Feature Test Macro Requirements for glibc (see
 .BR feature_test_macros (7)):
 .RE
-.PP
+.P
 .BR fchown (),
 .BR lchown ():
 .nf
     /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
         || _XOPEN_SOURCE >= 500
 .\"    || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
-        || /* Glibc <= 2.19: */ _BSD_SOURCE
+        || /* glibc <= 2.19: */ _BSD_SOURCE
 .fi
-.PP
+.P
 .BR fchownat ():
 .nf
     Since glibc 2.10:
@@ -65,21 +65,21 @@ The
 and
 .BR lchown ()
 system calls differ only in how the file is specified:
-.IP \(bu 3
+.IP \[bu] 3
 .BR chown ()
 changes the ownership of the file specified by
 .IR pathname ,
 which is dereferenced if it is a symbolic link.
-.IP \(bu
+.IP \[bu]
 .BR fchown ()
 changes the ownership of the file referred to by the open file descriptor
 .IR fd .
-.IP \(bu
+.IP \[bu]
 .BR lchown ()
 is like
 .BR chown (),
 but does not dereference symbolic links.
-.PP
+.P
 Only a privileged process (Linux: one with the
 .B CAP_CHOWN
 capability) may change the owner of a file.
@@ -88,13 +88,13 @@ to any group of which that owner is a member.
 A privileged process (Linux: with
 .BR CAP_CHOWN )
 may change the group arbitrarily.
-.PP
+.P
 If the
 .I owner
 or
 .I group
 is specified as \-1, then that ID is not changed.
-.PP
+.P
 When the owner or group of an executable file is
 changed by an unprivileged user, the
 .B S_ISUID
@@ -115,7 +115,7 @@ bit is not set) the
 .B S_ISGID
 bit indicates mandatory locking, and is not cleared by a
 .BR chown ().
-.PP
+.P
 When the owner or group of an executable file is changed (by any user),
 all capability sets for the file are cleared.
 .\"
@@ -125,7 +125,7 @@ The
 system call operates in exactly the same way as
 .BR chown (),
 except for the differences described here.
-.PP
+.P
 If the pathname given in
 .I pathname
 is relative, then it is interpreted relative to the directory
@@ -135,7 +135,7 @@ referred to by the file descriptor
 the calling process, as is done by
 .BR chown ()
 for a relative pathname).
-.PP
+.P
 If
 .I pathname
 is relative and
@@ -147,13 +147,13 @@ then
 is interpreted relative to the current working
 directory of the calling process (like
 .BR chown ()).
-.PP
+.P
 If
 .I pathname
 is absolute, then
 .I dirfd
 is ignored.
-.PP
+.P
 The
 .I flags
 argument is a bit mask created by ORing together
@@ -192,7 +192,7 @@ instead operate on the link itself, like
 .BR fchownat ()
 dereferences symbolic links, like
 .BR chown ().)
-.PP
+.P
 See
 .BR openat (2)
 for an explanation of the need for
@@ -205,7 +205,7 @@ is set to indicate the error.
 .SH ERRORS
 Depending on the filesystem,
 errors other than those listed below can be returned.
-.PP
+.P
 The more general errors for
 .BR chown ()
 are listed below.
@@ -278,15 +278,6 @@ The file is marked immutable or append-only.
 .B EROFS
 The named file resides on a read-only filesystem.
 .SH VERSIONS
-.BR fchownat ()
-was added in Linux 2.6.16;
-library support was added in glibc 2.4.
-.SH STANDARDS
-.BR chown (),
-.BR fchown (),
-.BR lchown ():
-4.4BSD, SVr4, POSIX.1-2001, POSIX.1-2008.
-.PP
 The 4.4BSD version can be
 used only by the superuser (that is, ordinary users cannot give away files).
 .\" chown():
@@ -295,9 +286,21 @@ used only by the superuser (that is, ordinary users cannot give away files).
 .\" fchown():
 .\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
 .\" error conditions.
-.PP
-.BR fchownat ():
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR chown ()
+.TQ
+.BR fchown ()
+.TQ
+.BR lchown ()
+4.4BSD, SVr4, POSIX.1-2001.
+.TP
+.BR fchownat ()
 POSIX.1-2008.
+Linux 2.6.16,
+glibc 2.4.
 .SH NOTES
 .SS Ownership of new files
 When a new file is created (by, for example,
@@ -321,24 +324,24 @@ and
 .BR "\-o\ sysvgroups" )
 .BR mount (8)
 options, then the rules are as follows:
-.IP \(bu 3
+.IP \[bu] 3
 If the filesystem is mounted with
 .BR "\-o\ grpid" ,
 then the group of a new file is made
 the same as that of the parent directory.
-.IP \(bu
+.IP \[bu]
 If the filesystem is mounted with
 .B \-o\ nogrpid
 and the set-group-ID bit is disabled on the parent directory,
 then the group of a new file is made the same as the
 process's filesystem GID.
-.IP \(bu
+.IP \[bu]
 If the filesystem is mounted with
 .B \-o\ nogrpid
 and the set-group-ID bit is enabled on the parent directory,
 then the group of a new file is made
 the same as that of the parent directory.
-.PP
+.P
 As at Linux 4.12,
 the
 .B \-o\ grpid
@@ -348,7 +351,7 @@ mount options are supported by ext2, ext3, ext4, and XFS.
 Filesystems that don't support these mount options follow the
 .B \-o\ nogrpid
 rules.
-.SS Glibc notes
+.SS glibc notes
 On older kernels where
 .BR fchownat ()
 is unavailable, the glibc wrapper function falls back to the use of
@@ -395,7 +398,7 @@ The glibc
 and
 .BR lchown ()
 wrapper functions transparently deal with the variations across kernel versions.
-.PP
+.P
 Before Linux 2.1.81 (except 2.1.46),
 .BR chown ()
 did not follow symbolic links.
@@ -425,36 +428,36 @@ to perform a lookup in the system password file).
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
-
+\&
 int
 main(int argc, char *argv[])
 {
     char           *endptr;
     uid_t          uid;
     struct passwd  *pwd;
-
-    if (argc != 3 || argv[1][0] == \(aq\e0\(aq) {
+\&
+    if (argc != 3 || argv[1][0] == \[aq]\e0\[aq]) {
         fprintf(stderr, "%s <owner> <file>\en", argv[0]);
         exit(EXIT_FAILURE);
     }
-
+\&
     uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */
-
-    if (*endptr != \(aq\e0\(aq) {         /* Was not pure numeric string */
+\&
+    if (*endptr != \[aq]\e0\[aq]) {         /* Was not pure numeric string */
         pwd = getpwnam(argv[1]);   /* Try getting UID for username */
         if (pwd == NULL) {
             perror("getpwnam");
             exit(EXIT_FAILURE);
         }
-
+\&
         uid = pwd\->pw_uid;
     }
-
+\&
     if (chown(argv[2], uid, \-1) == \-1) {
         perror("chown");
         exit(EXIT_FAILURE);
     }
-
+\&
     exit(EXIT_SUCCESS);
 }
 .EE