Linux 命令 - chown: 更改文件的所有者和所属群组

时间:2021-09-28 14:36:52

chown 命令用来更改文件或者目录的所有者和所属群组。使用这个命令需要超级用户的权限。

 

命令格式

chown [OPTION]... [OWNER][:[GROUP]] FILE...

chown [OPTION]... --reference=RFILE FILE...

 

命令参数

-c, --changes
  类似 -v 选项,但只在发生改变时才显示诊断信息。

--dereference
  作用的是符号链接所引用的对象,而非符号链接本身。

-h, --no-dereference
  作用的是每个符号链接而不是它们引用的文件。(当系统支持更改符号链接的所有者时,此选项才有用)

--preserve-root
  禁止对根目录进行递归操作。

-f, --silent, --quiet
  去除大部份的错误信息。

--reference=RFILE
  使用 RFILE 文件的所有者和所属群组,而非自行指定 OWNER:GROUP 值。

-R, --recursive
  递归地操作文件和目录。

-v, --verbose
  处理每个文件时,显示诊断信息。

--help
  显示帮助信息。

--version
  显示版本信息。

当 -R 选项指定时,以下的选项指定了层次的遍历的方式。如果指定了多个选项,则只有最后一个选项会生效。

-H
  如果命令行参数是一个引用目录的符号链接,则遍历该符号链接。

-L
  遍历每个遇到的引用目录的符号链接。

-P
  不会遍历任何的符号链接(默认选项)。

 

chown 命令参数实例

参数 结果
 huey  把文件所有者从当前所有者更改为用户 huey。
 huey:users   把文件所有者从当前所有者更改为用户 huey,并把文件所属群组更改为 users 组。
 :admins  把文件所属群组更改为 admins 组,文件所有者不变。
 huey  把文件所有者从当前所有者更改为用户 huey,并把文件所属群组更改为 huey 登录系统时所属的群组。 

 

实例

a) 将文件 hello.txt 的所有者更为用户 sugar。

[huey@huey-K42JE cmdline]$ ls -l hello.txt 
-rw-rw-r-- 1 huey huey 0 Oct 10 12:36 hello.txt
[huey@huey-K42JE cmdline]$ su -c 'chown sugar hello.txt'
Password: 
[huey@huey-K42JE cmdline]$ ls -l hello.txt 
-rw-rw-r-- 1 sugar huey 0 Oct 10 12:36 hello.txt

 

相关命令

chgrp - 更改文件的所属群组,与 chown 用法几乎相同,但只能更改文件的所属群组而不能更改文件的所有者。