导航菜单

Linux命令大全-chown命令

陆兴东 2026-04-07 52 浏览 Linux命令

一、简介

chown(英文全拼:change owner)命令用于修改文件所有者和文件所属组的命令。

Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或所属组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。

注:chown 需要超级用户 root 的权限才能执行此命令,非超级用户如需要设置关联组可能需要使用 chgrp 命令(详情可参照Linux命令大全-chgrp命令)。

二、语法

语法:chown [选项]... [所有者][:[组]] 文件...

参数说明:

-R, --recursive: 递归更改目录及其子目录中所有文件的所有者

-v, --verbose: 显示详细操作信息

-c, --changes: 只显示实际发生更改的文件

-f, --silent, --quiet: 抑制错误信息

--reference=文件: 使用参考文件的所有者和组设置

-h, --no-dereference: 影响符号链接本身,而不是链接指向的文件

--from=当前所有者: 只有当前所有者匹配时才更改

三、 实战

1、只更改某一个文件或目录的所有者

[root@app01 abc]# chown tom 1.txt

2、同时更改某一个文件或目录的所有者和所属组

[root@app01 abc]# chown tom:tom 1.txt

3、只更改某一个文件或目录的所属组

[root@app01 abc]# chown :tom 2.zip

注:如果只更改某一个文件或目录的所属组,“:”冒号一定要加上,否则会把该文件或者目录的所有者改掉。

4、使用用户id或组id进行更改

[root@app01 abc]# chown 1002:1002 1.txt

其中1002分别代表用户id和组id。

5、更改某一个目录下的所有文件或子目录的所有者和所属组

[root@app01 abc]# chown -R tom:tom test

6、只更改条件匹配者

[root@app01 abc]# chown --from=tom root 1.txt

该from参数意思是说,只有所有者是tom的进行更改,改成所有者root。

7、基于参考文件设置

[root@app01 abc]# chown --reference=/app/abc/1.txt a.txt

意思是说,a.txt的所有者和所属组,根据1.txt的权限进行设置。

8、符号链接文件处理

//更改符号链接本身
[root@app01 abc]# chown -h tom:tom /home/tom/linkfile
//更改符号链接指向的文件
[root@app01 abc]# chown tom:tom /home/tom/linkfile

这里的linkfile代表软链接文件的原文件和链接文件。

-h 选项会改变符号链接的标识信息,即使该链接指向特定文件或目录,也不会修改目标文件或目录的所有者。

如,若符号链接指向文件 test.txt,执行 chown -h user1:group1 linkfile 后,linkfile 的所有者会变为 user1,但 test.txt 的所有者不会改变。

主要用于,当需要单独控制符号链接的权限时使用,避免影响实际文件或目录的权限设置,此时可以使用-h参数选项来完成。