上一节介绍了如何修改文件的读、写、执行权限,包括属主用户权限、所属用户组权限、其他用户组用户权限,本小节介绍如何修改文件的所属关系,所属关系又包括文件的属主和所属组。
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
命令可以修改文件的所属组,需要注意的是 chown
和 chgrp
命令修改文件的属主必须是原来所属组和新的所属组的成员,否则可能会提示错误信息。