chown命令
功能说明:变更文件或目录的拥有者或所属群组。是 change owner (更改拥有者)的缩写。
语 法:
chown [-cfhRv][–dereference][–help][–version][拥有者.<所属群组>][文件或目录..] 或
chown [-chfRv][–dereference][–help][–version][.所属群组][文件或目录… …] 或
chown [-cfhRv][–dereference][–help][–reference=<参考文件或目录>][–version][文件或目录…]
补充说明:
在Linux/Unix系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。可以使用chown指令去变更文件与目录的拥有者或所属群组,设置方式:用户设置可以是用户名称或用户ID皆可,设置群组则用群组名称或群组ID。
一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限将自己的文件拥有者改设为别人。是root身份才行。
注意:
1、改变文件拥有者,要被改变的文件拥有者必须要在/etc/passwd文件内存在才行,否则就会显示错误。
2、改变文件所属群组,要被改变的群组名称必须要在/etc/group文件内存在才行,否则就会显示错误。
参数:
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
--help : 显示辅助说明
--version : 显示版本
例1:查看root、wzy、user01三个用户和所属组以及对应的 id
由上图看出:
root用户的uid=0,所属组root,组gid=0;
wzy用户uid=1000,所属组wzy,组gid=1000;
user01用户uid=2001,所属组users,组gid=100
例1.1:查看用户信息还可以去 /etc/passwd 文件里边看。
在Linux /etc/passwd文件中的每个用户(账号)都有对应的一行记录。(点击/etc/passwd查看详细介绍)
例2:查看当前目录内文件的拥有者和所属组
如例2图,user01代表文件所属用户(文件拥有者),wzy代表该用户所属组。
例3:将文件file1.txt 文件的拥有者改为user1:
这里直接改变拥有者,不包括群组,参数 -v 显示详细的处理过程。
注意:
1、改变文件拥有者,要被改变的文件拥有者必须要在/etc/passwd文件内存在才行,否则就会显示错误。
2、改变文件所属群组,要被改变的群组名称必须要在/etc/group文件内存在才行,否则就会显示错误。
例4:将文件file1.txt的拥有者和所属组都改为root:
例5:通过用户id和组id的方式,将文件file1.txt的拥有者改为user01、所属组改为users,并且显示更改的信息(使用参数-c):
如果我不想改变拥有者,只想改变所属组怎么办呢?
例6:不改变拥有者,将目录 mulu 的所属组改为 users
单独改变所属组,需要在所属组的前边加一个点“.” ,即命令写成:chown .users mulu/ 就是不改变拥有者,只改变所属组。
chgrp命令
如果例5改变所属组的时候,执行命令不想加点怎么办呢?还可以使用另一个命令 chgrp,这个命令就是直接更改所属组的。
参数与chown的参数一样。
例6:将目录 (mulu )的所属组都改为 wzy
从上边例子发现,改目录(mulu)所属组的时候,只改了当前目录,但是该目录里边的文件所属组并没有变,有什么办法能在改目录的时候把它里边的文件所属组一起改了呢?这里就用到了参数 -R。
例7:将目录 (mulu)和该目录里边的所有文件的所属组都改为 users
看上图发现,mulu 和它里边的文件所属组都变成了users,同样实现该功能还可以用另一个命令 chown。
例8:将目录 (mulu)和该目录里边的所有文件的所属组都改为 wzy,使用命令chown
注意:区分chown、chgrp 和chmod。
chown:变更文件或目录的拥有者或所属群组命令。
chgrp:变更文件或所属目录的所属群组。
chmod:变更文件或目录的权限。去看chmod命令——>
如有纰漏,多多指教! (^_^)