本文主要介绍 Linux 中 chown 命令的使用。

博主博客

指令名称: chown
使用权限: root
使用方式: chown [-cfhvR] [--help] [--version] user[:group] file…
指令说明:
利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

参数:
-c-change:作用与-v相似,但只传回修改的部分
-f–quiet–silent:不显示错误信息
-h–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息

chown 命令使用举例

  • # chown [-R] [用户名称] [文件或目录]
  • # chown [-R] [用户名称:组名称] [文件或目录]

范例1:将 test3.txt 文件的属主改为 test 用户。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown test:root test3.txt

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

范例2:chown 所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown :test test3.txt <==把文件test3.txt的属组改为test

# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

范例3:chown 也提供了 -R 参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R 参数来改变某个目录下的所有文件到新的属主或属组。

# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户

# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt

# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组

# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/

# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt