Linux 修改文件所属关系

上一节介绍了如何修改文件的读、写、执行权限,包括属主用户权限、所属用户组权限、其他用户组用户权限,本小节介绍如何修改文件的所属关系,所属关系又包括文件的属主和所属组。

1.chown 命令

若想要修改文件的属主,可以使用 chown 命令,修改了文件属主之后,文件的权限信息也相应的会被修改。

1.1 修改文件的属主

若只想要修改文件的所有者,则可以使用 chown 命令修改文件的属主,这里新建一个文件 newtestfile 为例,然后修改这个文件属主:

touch newtestfile

ls -l newtestfile

useradd newuser

chown newuser newtestfile

ls -l newtestfile

执行结果如下图:

图片描述

>Tips:若是修改目录的属主,则需要加上 -R 参数表示递归所有子目录,如 chown -R new_dir

1.2 同时修改文件的属主和所属组

若想要同时修改文件或目录的属主和用户组,也可以使用 chown 命令修改,这里新建一个文件 groupfile 为例,然后同时修改属主和所属组,命令如下:

touch groupfile

ls -l groupfile

useradd fileuser

groupadd filegroup

usermod -G filegroup fileuser

chown -R fileuser:filegroup groupfile

ls -l groupfile

执行结果如下图:

图片描述

只有 root 用户能够修改文件的属主。并且任何的属主都能修改它文件的所属组,但有一个前提是属主必须是原所属组和目标所属组的成员。

2.chgrp 修改文件或目录的默认属组

可以直接使用 chgrp 命令修改文件的所属组,接着上面的 groupfile 文件为例,命令如下:

ls -l groupfile

groupadd newgroup

usermod -G newgroup fileuser

chgrp newgroup  groupfile

ls -l groupfile

执行结果如下图:

图片描述

3. 小结

本小节介绍了如何使用 chown 命令修改文件的属主,也可以同时修改文件的属主和所属组,若是目录,需要跟上 -R 参数递归操作目录下所有子目录,chgrp 命令可以修改文件的所属组,需要注意的是 chownchgrp 命令修改文件的属主必须是原来所属组和新的所属组的成员,否则可能会提示错误信息。