chown 命令

用途

更改与文件关联的所有者或组。

语法

-f ] [ - ] [  -R ] 所有者 :组 ] { 文件 ... 目录 ... }

-R -f ] [ -H | -L | - ] 所有者 :组 ] { 文件 ... 目录 ... }

描述

chown 命令将 FileDirectory 参数指定的文件或目录的所有者更改为 Owner 参数指定的用户。 Owner 参数的值可以是用户数据库中的用户名或数字形式的用户标识。 还可选择指定组。 Group 参数的值可以是组数据库中的组名或数字形式的组标识。

只有 root 用户可以更改文件的所有者。 只在您是 root 用户或拥有该文件的情况下才可以更改文件的组。 如果拥有文件但不是 root 用户,那么只可以将组更改为您是其成员的组。

虽然 -H-L-P 标志是互斥的,指定不止一个也不认为是错误。 指定的最后一个标志确定命令将演示的操作。

当遇到符号链接而您未指定 -h 标志时,chown 命令更改链接指向的文件或目录的所有权,而非链接本身的所有权。

如果指定 -h 标志,那么 chown 命令具有相反的作用并更改链接本身的所有权,而非通过链接所指向的文件或目录的所有权。

如果指定 -R 标志,chown 命令递归地降序指定的目录。

如果指定 -h 标志和 -R 标志,chown 命令递归降序指定的目录,并且当遇到符号链接时,更改链接本身的所有权,而非通过链接所指向的文件或目录的所有权。

标志

描述
-f 取消除用法消息以外的所有错误消息。
-h 更改遇到的符号链接的所有权,而非符号链接指向的文件或目录的所有权。
-h 如果指定了 -R 选项,并且引用类型目录的文件的符号链接在命令行上指定,chown 变量会更改由符号引用的目录的用户标识(和组标识,如果已指定)和所有在该目录下的文件层次结构中的所有文件。
-L 如果指定了 -R 选项,并且引用类型目录的文件的符号在命令行上指定或在遍历文件层次结构期间遇到, chown 命令会更改由符号链接引用的目录的用户标识(和组标识,如果已指定)和在该目录之下的文件层次结构中的所有文件。
-P 如果指定了 -R 选项并且符号链接在命令行上指定或者在遍历文件层次结构期间遇到,那么如果系统支持该操作,那么 chown 命令会更改符号链接的所有者标识(和组标识,如果已指定)。 chown 命令不会执行至文件层次结构的任何其他部分的符号链接。
-R 递归地降序目录,更改每个文件的所有权。 当遇到符号链接并且链接指向目录时,更改该目录的所有权,但不进一步遍历目录。 不过 -h -H-L-P 标志也未指定,那么当遇到符号链接并且该链接指向到目录时,该目录的组所有权更改但不会进一步遍历目录。

退出状态

本命令返回以下退出值:

描述
重大安全事件数量 命令执行成功并已执行所有请求的更改。
> 0 发生错误。

安全性

访问控制

此程序应该作为“可信计算库”中的正常用户程序安装。

RBAC 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 更改文件的所有者 program.c:
    chown jim program.c
    以下对象的用户访问许可权 program.c现在应用到 jim作为主人jim可以使用 chmod 命令允许或拒绝其他用户访问program.c.
  2. 更改目录中所有文件的所有者和组/tmp/src至所有者john和组build:
    chown -R john:build /tmp/src

文件

描述
/usr/bin/chown chown 命令
/etc/group 包含组标识的文件
/etc/passwd 包含用户标识的文件