每天一个Linux命令(26)chown命令

      chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。

    (1)用法:

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

       或   chown [选项]... --reference=参考文件 文件...

    (2)功能:

    功能:  更改每个文件的所有者和/或所属组。

    当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。

    用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。

    (3)选项参数:

    1) -R --recursive            递归处理,将指定目录下的所有文件及子目录一并处理

    2) -f                   忽略错误信息

    3) -v                    显示详细的处理信息

    4) -c                    显示更改的部分的信息

    5) --reference=<参考文件或目录>    把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同

    (4)实例:

      1)[root@localhost Documents]# chown -v sunjimeng findDir/Dir/{head_text,less1,less2}        改变文件的拥有者(指名多个文件时还可以用空格隔开)

[root@localhost Documents]# ls -l findDir/Dir
总用量 12
-r-xr-xr-x. 1 root root 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 root root  45 5月   9 08:15 less1
-r-xr-xr-x. 1 root root  57 5月   9 08:16 less2
[root@localhost Documents]# chown -v sunjimeng findDir/Dir/{head_text,less1,less2}    在指明路径时,findDir在当前目录Documents下,所以不能带/。
changed ownership of "findDir/Dir/head_text" from root to sunjimeng
changed ownership of "findDir/Dir/less1" from root to sunjimeng
changed ownership of "findDir/Dir/less2" from root to sunjimeng
[root@localhost Documents]# ls -l findDir/Dir
总用量 12
-r-xr-xr-x. 1 sunjimeng root 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 sunjimeng root  45 5月   9 08:15 less1
-r-xr-xr-x. 1 sunjimeng root  57 5月   9 08:16 less2

      2)[root@localhost Documents]# chown -vR sunjimeng findDir/Dir          递归地将文件夹下的所有文件的所属组改变

[root@localhost Documents]# ls -l findDir/Dir
总用量 12
-r-xr-xr-x. 1 sunjimeng root 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 sunjimeng root  45 5月   9 08:15 less1
-r-xr-xr-x. 1 sunjimeng root  57 5月   9 08:16 less2
[root@localhost Documents]# ls -l findDir
总用量 0
dr-xr-xr-x. 2 root root 46 5月  21 06:58 Dir            //在实例1中并没有改变文件夹的所有者
[root@localhost Documents]# chown -v root findDir/Dir/{head_text,less1,less2}     //先把所有者复原为root
changed ownership of "findDir/Dir/head_text" from sunjimeng to root
changed ownership of "findDir/Dir/less1" from sunjimeng to root
changed ownership of "findDir/Dir/less2" from sunjimeng to root
[root@localhost Documents]# chown -vR sunjimeng findDir/Dir                   //再递归地把Dir文件夹和其下的文件所有者更改
changed ownership of "findDir/Dir/head_text" from root to sunjimeng
changed ownership of "findDir/Dir/less2" from root to sunjimeng
changed ownership of "findDir/Dir/less1" from root to sunjimeng
changed ownership of "findDir/Dir" from root to sunjimeng
[root@localhost Documents]# ls -l findDir              //在这里查看,文件夹Dir及其下文件的所有者都已经改变为sunjimeng
总用量 0
dr-xr-xr-x. 2 sunjimeng root 46 5月  21 06:58 Dir
[root@localhost Documents]# ls -l findDir/Dir
总用量 12
-r-xr-xr-x. 1 sunjimeng root 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 sunjimeng root  45 5月   9 08:15 less1
-r-xr-xr-x. 1 sunjimeng root  57 5月   9 08:16 less2

      3[root@localhost Documents]# chown -vR root:sunjimeng findDir              改变所有者的同时改变所属组

[root@localhost Documents]# chown -vR root:sunjimeng findDir
changed ownership of "findDir/Dir/head_text" from sunjimeng:root to root:sunjimeng
changed ownership of "findDir/Dir/less2" from sunjimeng:root to root:sunjimeng
changed ownership of "findDir/Dir/less1" from sunjimeng:root to root:sunjimeng
changed ownership of "findDir/Dir" from sunjimeng:root to root:sunjimeng
changed ownership of "findDir" from root:root to root:sunjimeng
[root@localhost Documents]# ll findDir
总用量 0
dr-xr-xr-x. 2 root sunjimeng 46 5月  21 06:58 Dir
[root@localhost Documents]# ll findDir/Dir
总用量 12
-r-xr-xr-x. 1 root sunjimeng 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 root sunjimeng  45 5月   9 08:15 less1
-r-xr-xr-x. 1 root sunjimeng  57 5月   9 08:16 less2

      4)[root@localhost Dir]# chown -c .root head_text less1                 只改变文件的所属组(-c参数与-v类似)

[root@localhost Dir]# ll
总用量 12
-r-xr-xr-x. 1 root sunjimeng 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 root sunjimeng  45 5月   9 08:15 less1
-r-xr-xr-x. 1 root sunjimeng  57 5月   9 08:16 less2
[root@localhost Dir]# chown -c .root head_text less1
changed ownership of "head_text" from root:sunjimeng to :root
changed ownership of "less1" from root:sunjimeng to :root
[root@localhost Dir]# chgrp -v root head_text less2
"head_text" 的所属组已保留为root                      //因为文件的所属组已经为root了,所以这里显示保留为root
changed group of "less2" from sunjimeng to root
[root@localhost Dir]# ll
总用量 12
-r-xr-xr-x. 1 root root 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 root root  45 5月   9 08:15 less1
-r-xr-xr-x. 1 root root  57 5月   9 08:16 less2

      5)[root@localhost Dir]# chown -v :sunjimeng less1  和[root@localhost Dir]# chown -v :sunjimeng less1 和[root@localhost Dir]# chown -v sunjimeng head_text     

[root@localhost Dir]# ll
总用量 12
-r-xr-xr-x. 1 root root 664 5月   9 07:59 head_text
-r-xr-xr-x. 1 root root  45 5月   9 08:15 less1
-r-xr-xr-x. 1 root root  57 5月   9 08:16 less2
[root@localhost Dir]# chown -v :sunjimeng less1
changed ownership of "less1" from root:root to :sunjimeng
[root@localhost Dir]# chown -v .sunjimeng less2
changed ownership of "less2" from root:root to :sunjimeng
[root@localhost Dir]# chown -v sunjimeng head_text
changed ownership of "head_text" from root to sunjimeng
[root@localhost Dir]# ll
总用量 12
-r-xr-xr-x. 1 sunjimeng root      664 5月   9 07:59 head_text
-r-xr-xr-x. 1 root      sunjimeng  45 5月   9 08:15 less1
-r-xr-xr-x. 1 root      sunjimeng  57 5月   9 08:16 less2

    (5)其他:

      在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。

      以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。 如果您指定了多于一个选项,那么只有最后一个会生效。

  -H 如果命令行参数是一个通到目录的符号链接,则遍历符号链接 -L 遍历每一个遇到的通到目录的符号链接

  -P 不遍历任何符号链接(默认)

  --help 显示此帮助信息并退出

  --version 显示版本信息并退出 如果没有指定所有者,则不会更改。

  所属组若没有指定也不会更改,但当加上 ":"时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。

原文地址:https://www.cnblogs.com/MenAngel/p/5518996.html