mirror of https://github.com/mkerrisk/man-pages
265 lines
9.7 KiB
Groff
265 lines
9.7 KiB
Groff
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "CHOWN" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" chown
|
||
|
.SH NAME
|
||
|
chown \- change the file ownership
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fBchown\fP \fB[\fP\fB-hR\fP\fB]\fP \fIowner\fP\fB[\fP\fB:\fP\fIgroup\fP\fB]\fP
|
||
|
\fIfile\fP \fB...
|
||
|
.br
|
||
|
.sp
|
||
|
chown -R\fP \fB[\fP\fB-H | -L | -P\fP \fB]\fP \fIowner\fP\fB[\fP\fB:\fP\fIgroup\fP\fB]\fP
|
||
|
\fIfile\fP \fB...
|
||
|
.br
|
||
|
\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
The \fIchown\fP utility shall set the user ID of the file named by
|
||
|
each \fIfile\fP operand to the user ID specified by the
|
||
|
\fIowner\fP operand.
|
||
|
.LP
|
||
|
For each \fIfile\fP operand, or, if the \fB-R\fP option is used, each
|
||
|
file encountered while walking the directory trees
|
||
|
specified by the \fIfile\fP operands, the \fIchown\fP utility shall
|
||
|
perform actions equivalent to the \fIchown\fP() function defined in
|
||
|
the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
|
||
|
called with the following arguments:
|
||
|
.IP " 1." 4
|
||
|
The \fIfile\fP operand shall be used as the \fIpath\fP argument.
|
||
|
.LP
|
||
|
.IP " 2." 4
|
||
|
The user ID indicated by the \fIowner\fP portion of the first operand
|
||
|
shall be used as the \fIowner\fP argument.
|
||
|
.LP
|
||
|
.IP " 3." 4
|
||
|
If the \fIgroup\fP portion of the first operand is given, the group
|
||
|
ID indicated by it shall be used as the \fIgroup\fP
|
||
|
argument; otherwise, the group ownership shall not be changed.
|
||
|
.LP
|
||
|
.LP
|
||
|
Unless \fIchown\fP is invoked by a process with appropriate privileges,
|
||
|
the set-user-ID and set-group-ID bits of a regular file
|
||
|
shall be cleared upon successful completion; the set-user-ID and set-group-ID
|
||
|
bits of other file types may be cleared.
|
||
|
.SH OPTIONS
|
||
|
.LP
|
||
|
The \fIchown\fP utility shall conform to the Base Definitions volume
|
||
|
of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
|
||
|
.LP
|
||
|
The following options shall be supported by the implementation:
|
||
|
.TP 7
|
||
|
\fB-h\fP
|
||
|
If the system supports user IDs for symbolic links, for each \fIfile\fP
|
||
|
operand that names a file of type symbolic link,
|
||
|
\fIchown\fP shall attempt to set the user ID of the symbolic link.
|
||
|
If the system supports group IDs for symbolic links, and a
|
||
|
group ID was specified, for each \fIfile\fP operand that names a file
|
||
|
of type symbolic link, \fIchown\fP shall attempt to set the
|
||
|
group ID of the symbolic link. If the system does not support user
|
||
|
or group IDs for symbolic links, for each \fIfile\fP operand
|
||
|
that names a file of type symbolic link, \fIchown\fP shall do nothing
|
||
|
more with the current file and shall go on to any remaining
|
||
|
files.
|
||
|
.TP 7
|
||
|
\fB-H\fP
|
||
|
If the \fB-R\fP option is specified and a symbolic link referencing
|
||
|
a file of type directory is specified on the command line,
|
||
|
\fIchown\fP shall change the user ID (and group ID, if specified)
|
||
|
of the directory referenced by the symbolic link and all files
|
||
|
in the file hierarchy below it.
|
||
|
.TP 7
|
||
|
\fB-L\fP
|
||
|
If the \fB-R\fP option is specified and a symbolic link referencing
|
||
|
a file of type directory is specified on the command line
|
||
|
or encountered during the traversal of a file hierarchy, \fIchown\fP
|
||
|
shall change the user ID (and group ID, if specified) of the
|
||
|
directory referenced by the symbolic link and all files in the file
|
||
|
hierarchy below it.
|
||
|
.TP 7
|
||
|
\fB-P\fP
|
||
|
If the \fB-R\fP option is specified and a symbolic link is specified
|
||
|
on the command line or encountered during the traversal
|
||
|
of a file hierarchy, \fIchown\fP shall change the owner ID (and group
|
||
|
ID, if specified) of the symbolic link if the system
|
||
|
supports this operation. The \fIchown\fP utility shall not follow
|
||
|
the symbolic link to any other part of the file hierarchy.
|
||
|
.TP 7
|
||
|
\fB-R\fP
|
||
|
Recursively change file user and group IDs. For each \fIfile\fP operand
|
||
|
that names a directory, \fIchown\fP shall change the
|
||
|
user ID (and group ID, if specified) of the directory and all files
|
||
|
in the file hierarchy below it. Unless a \fB-H\fP, \fB-L\fP,
|
||
|
or \fB-P\fP option is specified, it is unspecified which of these
|
||
|
options will be used as the default.
|
||
|
.sp
|
||
|
.LP
|
||
|
Specifying more than one of the mutually-exclusive options \fB-H\fP,
|
||
|
\fB-L\fP, and \fB-P\fP shall not be considered an error.
|
||
|
The last option specified shall determine the behavior of the utility.
|
||
|
.SH OPERANDS
|
||
|
.LP
|
||
|
The following operands shall be supported:
|
||
|
.TP 7
|
||
|
\fIowner\fP\fB[\fP:\fIgroup\fP\fB]\fP
|
||
|
A user ID and optional group ID to be assigned to \fIfile\fP. The
|
||
|
\fIowner\fP portion of this operand shall be a user name
|
||
|
from the user database or a numeric user ID. Either specifies a user
|
||
|
ID which shall be given to each file named by one of the
|
||
|
\fIfile\fP operands. If a numeric \fIowner\fP operand exists in the
|
||
|
user database as a user name, the user ID number associated
|
||
|
with that user name shall be used as the user ID. Similarly, if the
|
||
|
\fIgroup\fP portion of this operand is present, it shall be a
|
||
|
group name from the group database or a numeric group ID. Either specifies
|
||
|
a group ID which shall be given to each file. If a
|
||
|
numeric group operand exists in the group database as a group name,
|
||
|
the group ID number associated with that group name shall be
|
||
|
used as the group ID.
|
||
|
.TP 7
|
||
|
\fIfile\fP
|
||
|
A pathname of a file whose user ID is to be modified.
|
||
|
.sp
|
||
|
.SH STDIN
|
||
|
.LP
|
||
|
Not used.
|
||
|
.SH INPUT FILES
|
||
|
.LP
|
||
|
None.
|
||
|
.SH ENVIRONMENT VARIABLES
|
||
|
.LP
|
||
|
The following environment variables shall affect the execution of
|
||
|
\fIchown\fP:
|
||
|
.TP 7
|
||
|
\fILANG\fP
|
||
|
Provide a default value for the internationalization variables that
|
||
|
are unset or null. (See the Base Definitions volume of
|
||
|
IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
|
||
|
for
|
||
|
the precedence of internationalization variables used to determine
|
||
|
the values of locale categories.)
|
||
|
.TP 7
|
||
|
\fILC_ALL\fP
|
||
|
If set to a non-empty string value, override the values of all the
|
||
|
other internationalization variables.
|
||
|
.TP 7
|
||
|
\fILC_CTYPE\fP
|
||
|
Determine the locale for the interpretation of sequences of bytes
|
||
|
of text data as characters (for example, single-byte as
|
||
|
opposed to multi-byte characters in arguments).
|
||
|
.TP 7
|
||
|
\fILC_MESSAGES\fP
|
||
|
Determine the locale that should be used to affect the format and
|
||
|
contents of diagnostic messages written to standard
|
||
|
error.
|
||
|
.TP 7
|
||
|
\fINLSPATH\fP
|
||
|
Determine the location of message catalogs for the processing of \fILC_MESSAGES
|
||
|
\&.\fP
|
||
|
.sp
|
||
|
.SH ASYNCHRONOUS EVENTS
|
||
|
.LP
|
||
|
Default.
|
||
|
.SH STDOUT
|
||
|
.LP
|
||
|
Not used.
|
||
|
.SH STDERR
|
||
|
.LP
|
||
|
The standard error shall be used only for diagnostic messages.
|
||
|
.SH OUTPUT FILES
|
||
|
.LP
|
||
|
None.
|
||
|
.SH EXTENDED DESCRIPTION
|
||
|
.LP
|
||
|
None.
|
||
|
.SH EXIT STATUS
|
||
|
.LP
|
||
|
The following exit values shall be returned:
|
||
|
.TP 7
|
||
|
\ 0
|
||
|
The utility executed successfully and all requested changes were made.
|
||
|
.TP 7
|
||
|
>0
|
||
|
An error occurred.
|
||
|
.sp
|
||
|
.SH CONSEQUENCES OF ERRORS
|
||
|
.LP
|
||
|
Default.
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
Only the owner of a file or the user with appropriate privileges may
|
||
|
change the owner or group of a file.
|
||
|
.LP
|
||
|
Some implementations restrict the use of \fIchown\fP to a user with
|
||
|
appropriate privileges.
|
||
|
.SH EXAMPLES
|
||
|
.LP
|
||
|
None.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
The System V and BSD versions use different exit status codes. Some
|
||
|
implementations used the exit status as a count of the
|
||
|
number of errors that occurred; this practice is unworkable since
|
||
|
it can overflow the range of valid exit status values. These are
|
||
|
masked by specifying only 0 and >0 as exit values.
|
||
|
.LP
|
||
|
The functionality of \fIchown\fP is described substantially through
|
||
|
references to functions in the System Interfaces volume of
|
||
|
IEEE\ Std\ 1003.1-2001. In this way, there is no duplication of effort
|
||
|
required for describing the interactions of
|
||
|
permissions, multiple groups, and so on.
|
||
|
.LP
|
||
|
The 4.3 BSD method of specifying both owner and group was included
|
||
|
in this volume of IEEE\ Std\ 1003.1-2001 because:
|
||
|
.IP " *" 3
|
||
|
There are cases where the desired end condition could not be achieved
|
||
|
using the \fIchgrp\fP and \fIchown\fP (that only changed the user
|
||
|
ID) utilities. (If the current owner is not
|
||
|
a member of the desired group and the desired owner is not a member
|
||
|
of the current group, the \fIchown\fP() function could fail unless
|
||
|
both owner and group are changed at the same time.)
|
||
|
.LP
|
||
|
.IP " *" 3
|
||
|
Even if they could be changed independently, in cases where both are
|
||
|
being changed, there is a 100% performance penalty caused
|
||
|
by being forced to invoke both utilities.
|
||
|
.LP
|
||
|
.LP
|
||
|
The BSD syntax \fIuser\fP[. \fIgroup\fP] was changed to \fIuser\fP[:
|
||
|
\fIgroup\fP] in this volume of
|
||
|
IEEE\ Std\ 1003.1-2001 because the period is a valid character in
|
||
|
login names (as specified by the Base Definitions volume
|
||
|
of IEEE\ Std\ 1003.1-2001, login names consist of characters in the
|
||
|
portable filename character set). The colon character
|
||
|
was chosen as the replacement for the period character because it
|
||
|
would never be allowed as a character in a user name or group
|
||
|
name on historical implementations.
|
||
|
.LP
|
||
|
The \fB-R\fP option is considered by some observers as an undesirable
|
||
|
departure from the historical UNIX system tools approach;
|
||
|
since a tool, \fIfind\fP, already exists to recurse over directories,
|
||
|
there seemed to be no
|
||
|
good reason to require other tools to have to duplicate that functionality.
|
||
|
However, the \fB-R\fP option was deemed an important
|
||
|
user convenience, is far more efficient than forking a separate process
|
||
|
for each element of the directory hierarchy, and is in
|
||
|
widespread historical use.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
\fIchmod\fP , \fIchgrp\fP , the System Interfaces volume of
|
||
|
IEEE\ Std\ 1003.1-2001, \fIchown\fP()
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
||
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
||
|
event of any discrepancy between this version and the original IEEE and
|
||
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
||
|
is the referee document. The original Standard can be obtained online at
|
||
|
http://www.opengroup.org/unix/online.html .
|