一、chown命令
Linux chown(英文全拼:change owner
)命令用于设置文件所有者
和文件关联组
的命令。
Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。
使用权限: root
语法:
chown [选项] 所有者[:组] 文件...
选项 :
- -R, --recursive: 递归更改目录及其子目录中所有文件的所有者
- -v, --verbose: 显示详细操作信息
- -c, --changes: 只显示实际发生更改的文件
- -f, --silent, --quiet: 抑制错误信息
- –reference=文件: 使用参考文件的所有者和组设置
- -h, --no-dereference: 影响符号链接本身,而不是链接指向的文件
- –from=当前所有者: 只有当前所有者匹配时才更改
二、chown示例
2.1、同时更改用户和组
语法: chown username:groupname filename
示例:
chown mysql:mysql demo1.txt -- 修改文件所有者和组
chown -R mysql:mysql test -- 修改文件夹及子目录所有者和组
chown -R mysql:mysql demo1.txt test -- 修改多个文件所有者和组
修改demo1.txt文件
与test文件夹
的所属用户和组都修改为mysql
。
-R
:遍历修改test目录及子目录中的所有文件的所有者
2.2、只修改所有者
语法:
chown username filename
示例:
chown root demo1.txt
2.3、只修改组
语法:
chown :groupname filename
示例:
chown :root demo1.txt
2.4、其他示例
- 将当前前目录下的所有文件与子目录的拥有者皆设为 root,群体的使用者 mysql:
chown -R root:mysql *
三、高级使用技巧
3.1、条件更改
# 只有当前所有者是root时才更改
chown --from=root mysql /home/mysql/file.txt
# 基于参考文件设置
chown --reference=/etc/passwd /etc/profiles