chown

修改文件的属主及其用户组属性


语法格式

chown [-cfhHLPRv] [--dereference] [--from=current_owner:current_group]
        [--preserve-root] [owner][:[group]] files
chown [-cfhHLPRv] [--dereference] [--from=current_owner:current_group]
        [--preserve-root] --reference=rfile files
chown [--help] [--version]

命令简介

chown命令用于修改指定文件的属主和用户组属性。其中,files是一个或一组文件(或目录),owner是用户名或用户ID,group是用户组名或用户组ID。

如果仅仅指定了用户(owner),表示只修改文件的属主属性,文件的用户组属性保持不变。如果同时给定了用户、冒号与用户组(“owner:group”,三者中间没有空格),表示同时修改文件的属主和用户组属性。如果用户名后面只有冒号而未提供用户组(“owner:”),表示按给定的用户名修改文件的属主属性,按指定用户所属的用户组修改文件的用户组属性。如果只给出了冒号和用户组而未指定用户(“:group”),表示仅修改文件的用户组属性。在此情况下,chown命令的功能与chgrp命令相同。如果仅仅给定一个冒号,没有给定用户与用户组,或给定的ownergroup均为空串,文件的属主与用户组属性保持不变。

第二种语法格式表示以指定的参考文件rfile为标准,修改指定文件的用户与用户组属性。

命令选项

-c, --changes  类似于“-v”选项,但仅当发生实际变化时才显示处理过程。

-f, --silent, --quiet  禁止输出不重要的错误信息。

-h, --no-dereference  仅修改符号链接文件本身,而不涉及其引用的文件。

-R, --recursive  递归地修改文件与子目录的属性。

-v, --verbose  显示命令的处理过程与动作。

--dereference  修改符号链接文件引用的文件,而不涉及符号链接文件本身(这是默认的处理方式)。

--from=current_owner:current_group  仅当文件当前的属主和用户组属性匹配这个选项指定的属主和用户组时,才修改文件的属主和用户组。如果这个选项忽略了其中的任何一个属性,相应的匹配检测也随之忽略。

--preserve-root  在指定“-R”选项递归修改文件属主和用户组属性的情况下,再指定这个选项能够禁止处理根目录“/”,否则此选项不起任何作用。

--reference=rfile  使用指定的参考文件的属主和用户组,设置命令行指定文件的属主与用户组属性。

如果已经指定了“-R”选项,下列选项规定了递归处理时如何遍历目录文件层次。如果同时指定了多个下列选项,只有最后一个选项起作用。

-H  与“-R”选项一起使用时,如果命令行参数是一个指向目录的符号链接文件,则修改相应目录中的文件。

-L  与“-R”选项一起使用时,对于递归过程中遇到的每一个指向目录的符号链接文件,修改相应目录中的文件。

-P  禁止遍历任何符号链接文件引用的目录。如果未指定“-H”、“-L”或“-P”选项,这是默认的做法。

应用实例

1. 把/data/table文件的用户属性改为mysql。

# chgrp mysql /data/table
#

2. 把/data/table文件的用户与用户组属性均改为mysql。

# chgrp mysql:mysql /data/table
#

3. 把/data/schedule目录中所有文件及子目录的用户与用户组属性改为mysql。

# chgrp -hR mysql:mysql /data/schedule
#

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z