📄 chown.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta name="generator" content="HTML Tidy, see www.w3.org"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 --><!-- Copyright (c) 2001-2003 The Open Group, All Rights Reserved --><title>chown</title></head><body bgcolor="white"><script type="text/javascript" language="JavaScript" src="../jscript/codes.js"></script><basefont size="3"> <a name="chown"></a> <a name="tag_04_19"></a><!-- chown --> <!--header start--><center><font size="2">The Open Group Base Specifications Issue 6<br>IEEE Std 1003.1, 2003 Edition<br>Copyright © 2001-2003 The IEEE and The Open Group, All Rights reserved.</font></center><!--header end--><hr size="2" noshade><h4><a name="tag_04_19_01"></a>NAME</h4><blockquote>chown - change the file ownership</blockquote><h4><a name="tag_04_19_02"></a>SYNOPSIS</h4><blockquote class="synopsis"><p><code><tt>chown</tt> <b>[</b><tt>-hR</tt><b>]</b> <i>owner</i><b>[</b><tt>:</tt><i>group</i><b>]</b> <i>file</i> <tt>...<br><br> chown -R</tt> <b>[</b><tt>-H | -L | -P</tt> <b>]</b> <i>owner</i><b>[</b><tt>:</tt><i>group</i><b>]</b> <i>file</i> <tt>...<br></tt></code></p></blockquote><h4><a name="tag_04_19_03"></a>DESCRIPTION</h4><blockquote><p>The <i>chown</i> utility shall set the user ID of the file named by each <i>file</i> operand to the user ID specified by the<i>owner</i> operand.</p><p>For each <i>file</i> operand, or, if the <b>-R</b> option is used, each file encountered while walking the directory treesspecified by the <i>file</i> operands, the <i>chown</i> utility shall perform actions equivalent to the <a href="../functions/chown.html"><i>chown</i>()</a> function defined in the System Interfaces volume of IEEE Std 1003.1-2001,called with the following arguments:</p><ol><li><p>The <i>file</i> operand shall be used as the <i>path</i> argument.</p></li><li><p>The user ID indicated by the <i>owner</i> portion of the first operand shall be used as the <i>owner</i> argument.</p></li><li><p>If the <i>group</i> portion of the first operand is given, the group ID indicated by it shall be used as the <i>group</i>argument; otherwise, the group ownership shall not be changed.</p></li></ol><p>Unless <i>chown</i> is invoked by a process with appropriate privileges, the set-user-ID and set-group-ID bits of a regular fileshall be cleared upon successful completion; the set-user-ID and set-group-ID bits of other file types may be cleared.</p></blockquote><h4><a name="tag_04_19_04"></a>OPTIONS</h4><blockquote><p>The <i>chown</i> utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001, <a href="../basedefs/xbd_chap12.html#tag_12_02">Section 12.2, Utility Syntax Guidelines</a>.</p><p>The following options shall be supported by the implementation:</p><dl compact><dt><b>-h</b></dt><dd>If the system supports user IDs for symbolic links, for each <i>file</i> operand that names a file of type symbolic link,<i>chown</i> shall attempt to set the user ID of the symbolic link. If the system supports group IDs for symbolic links, and agroup ID was specified, for each <i>file</i> operand that names a file of type symbolic link, <i>chown</i> shall attempt to set thegroup ID of the symbolic link. If the system does not support user or group IDs for symbolic links, for each <i>file</i> operandthat names a file of type symbolic link, <i>chown</i> shall do nothing more with the current file and shall go on to any remainingfiles.</dd><dt><b>-H</b></dt><dd>If the <b>-R</b> option is specified and a symbolic link referencing a file of type directory is specified on the command line,<i>chown</i> shall change the user ID (and group ID, if specified) of the directory referenced by the symbolic link and all filesin the file hierarchy below it.</dd><dt><b>-L</b></dt><dd>If the <b>-R</b> option is specified and a symbolic link referencing a file of type directory is specified on the command lineor encountered during the traversal of a file hierarchy, <i>chown</i> shall change the user ID (and group ID, if specified) of thedirectory referenced by the symbolic link and all files in the file hierarchy below it.</dd><dt><b>-P</b></dt><dd>If the <b>-R</b> option is specified and a symbolic link is specified on the command line or encountered during the traversalof a file hierarchy, <i>chown</i> shall change the owner ID (and group ID, if specified) of the symbolic link if the systemsupports this operation. The <i>chown</i> utility shall not follow the symbolic link to any other part of the file hierarchy.</dd><dt><b>-R</b></dt><dd>Recursively change file user and group IDs. For each <i>file</i> operand that names a directory, <i>chown</i> shall change theuser ID (and group ID, if specified) of the directory and all files in the file hierarchy below it. Unless a <b>-H</b>, <b>-L</b>,or <b>-P</b> option is specified, it is unspecified which of these options will be used as the default.</dd></dl><p>Specifying more than one of the mutually-exclusive options <b>-H</b>, <b>-L</b>, and <b>-P</b> shall not be considered an error.The last option specified shall determine the behavior of the utility.</p></blockquote><h4><a name="tag_04_19_05"></a>OPERANDS</h4><blockquote><p>The following operands shall be supported:</p><dl compact><dt><i>owner</i><b>[</b>:<i>group</i><b>]</b></dt><dd>A user ID and optional group ID to be assigned to <i>file</i>. The <i>owner</i> portion of this operand shall be a user namefrom 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<i>file</i> operands. If a numeric <i>owner</i> operand exists in the user database as a user name, the user ID number associatedwith that user name shall be used as the user ID. Similarly, if the <i>group</i> portion of this operand is present, it shall be agroup name from the group database or a numeric group ID. Either specifies a group ID which shall be given to each file. If anumeric group operand exists in the group database as a group name, the group ID number associated with that group name shall beused as the group ID.</dd><dt><i>file</i></dt><dd>A pathname of a file whose user ID is to be modified.</dd></dl></blockquote><h4><a name="tag_04_19_06"></a>STDIN</h4><blockquote><p>Not used.</p></blockquote><h4><a name="tag_04_19_07"></a>INPUT FILES</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_04_19_08"></a>ENVIRONMENT VARIABLES</h4><blockquote><p>The following environment variables shall affect the execution of <i>chown</i>:</p><dl compact><dt><i>LANG</i></dt><dd>Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume ofIEEE Std 1003.1-2001, <a href="../basedefs/xbd_chap08.html#tag_08_02">Section 8.2, Internationalization Variables</a> forthe precedence of internationalization variables used to determine the values of locale categories.)</dd><dt><i>LC_ALL</i></dt><dd>If set to a non-empty string value, override the values of all the other internationalization variables.</dd><dt><i>LC_CTYPE</i></dt><dd>Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte asopposed to multi-byte characters in arguments).</dd><dt><i>LC_MESSAGES</i></dt><dd>Determine the locale that should be used to affect the format and contents of diagnostic messages written to standarderror.</dd><dt><i>NLSPATH</i></dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Determine the location of message catalogs for the processing of <i>LC_MESSAGES .</i> <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd></dl></blockquote><h4><a name="tag_04_19_09"></a>ASYNCHRONOUS EVENTS</h4><blockquote><p>Default.</p></blockquote><h4><a name="tag_04_19_10"></a>STDOUT</h4><blockquote><p>Not used.</p></blockquote><h4><a name="tag_04_19_11"></a>STDERR</h4><blockquote><p>The standard error shall be used only for diagnostic messages.</p></blockquote><h4><a name="tag_04_19_12"></a>OUTPUT FILES</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_04_19_13"></a>EXTENDED DESCRIPTION</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_04_19_14"></a>EXIT STATUS</h4><blockquote><p>The following exit values shall be returned:</p><dl compact><dt> 0</dt><dd>The utility executed successfully and all requested changes were made.</dd><dt>>0</dt><dd>An error occurred.</dd></dl></blockquote><h4><a name="tag_04_19_15"></a>CONSEQUENCES OF ERRORS</h4><blockquote><p>Default.</p></blockquote><hr><div class="box"><em>The following sections are informative.</em></div><h4><a name="tag_04_19_16"></a>APPLICATION USAGE</h4><blockquote><p>Only the owner of a file or the user with appropriate privileges may change the owner or group of a file.</p><p>Some implementations restrict the use of <i>chown</i> to a user with appropriate privileges.</p></blockquote><h4><a name="tag_04_19_17"></a>EXAMPLES</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_04_19_18"></a>RATIONALE</h4><blockquote><p>The System V and BSD versions use different exit status codes. Some implementations used the exit status as a count of thenumber of errors that occurred; this practice is unworkable since it can overflow the range of valid exit status values. These aremasked by specifying only 0 and >0 as exit values.</p><p>The functionality of <i>chown</i> is described substantially through references to functions in the System Interfaces volume ofIEEE Std 1003.1-2001. In this way, there is no duplication of effort required for describing the interactions ofpermissions, multiple groups, and so on.</p><p>The 4.3 BSD method of specifying both owner and group was included in this volume of IEEE Std 1003.1-2001 because:</p><ul><li><p>There are cases where the desired end condition could not be achieved using the <a href="../utilities/chgrp.html"><i>chgrp</i></a> and <i>chown</i> (that only changed the user ID) utilities. (If the current owner is nota member of the desired group and the desired owner is not a member of the current group, the <a href="../functions/chown.html"><i>chown</i>()</a> function could fail unless both owner and group are changed at the same time.)</p></li><li><p>Even if they could be changed independently, in cases where both are being changed, there is a 100% performance penalty causedby being forced to invoke both utilities.</p></li></ul><p>The BSD syntax <i>user</i>[. <i>group</i>] was changed to <i>user</i>[: <i>group</i>] in this volume ofIEEE Std 1003.1-2001 because the period is a valid character in login names (as specified by the Base Definitions volumeof IEEE Std 1003.1-2001, login names consist of characters in the portable filename character set). The colon characterwas chosen as the replacement for the period character because it would never be allowed as a character in a user name or groupname on historical implementations.</p><p>The <b>-R</b> option is considered by some observers as an undesirable departure from the historical UNIX system tools approach;since a tool, <a href="../utilities/find.html"><i>find</i></a>, already exists to recurse over directories, there seemed to be nogood reason to require other tools to have to duplicate that functionality. However, the <b>-R</b> option was deemed an importantuser convenience, is far more efficient than forking a separate process for each element of the directory hierarchy, and is inwidespread historical use.</p></blockquote><h4><a name="tag_04_19_19"></a>FUTURE DIRECTIONS</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_04_19_20"></a>SEE ALSO</h4><blockquote><p><a href="chmod.html"><i>chmod</i></a> , <a href="chgrp.html"><i>chgrp</i></a> , the System Interfaces volume ofIEEE Std 1003.1-2001, <a href="../functions/chown.html"><i>chown</i>()</a></p></blockquote><h4><a name="tag_04_19_21"></a>CHANGE HISTORY</h4><blockquote><p>First released in Issue 2.</p></blockquote><h4><a name="tag_04_19_22"></a>Issue 6</h4><blockquote><p>New options <b>-h</b>, <b>-H</b>, <b>-L</b>, and <b>-P</b> are added to align with the IEEE P1003.2b draft standard. Theseoptions affect the processing of symbolic links.</p><p>The normative text is reworded to avoid use of the term "must" for application requirements.</p><p>IEEE PASC Interpretation 1003.2 #172 is applied, changing the CONSEQUENCES OF ERRORS section to "Default.".</p><p>The "otherwise, ..." text in item 3. of the DESCRIPTION is changed to "otherwise, the group ownership shall not bechanged".</p><p>IEEE Std 1003.1-2001/Cor 1-2002, item XCU/TC1/D6/17 is applied, changing the SYNOPSIS to make it clear that <b>-h</b>and <b>-R</b> are optional.</p></blockquote><div class="box"><em>End of informative text.</em></div><hr><hr size="2" noshade><center><font size="2"><!--footer start-->UNIX ® is a registered Trademark of The Open Group.<br>POSIX ® is a registered Trademark of The IEEE.<br>[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href="../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>]</font></center><!--footer end--><hr size="2" noshade></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -