有所依靠的chgrp
.. code::
鸿鹄志、向炎天。
宋 刘克庄《贺新郎·杜子昕凯歌》
Linux的chgrp
命令用于变更文件或者目录所属的组group。
这里的变更不仅限于本人的组,只要用户属于的组,均可以使用chgrp
更改相应的权限而不是必须使用管理员权限。
很多权限的操作可以与chmod
来交叉。比如如果希望文件只有本组成员访问,可以通过chmod 770 file/directory
,此时就涉及到组的概念了。
官方定义为:
chgrp
- change group ownership
语法为:
1 | $ chgrp [OPTION]... GROUP FILE... |
常用的几个参数为:
--reference=RFILE
: 参考指定文件进行所属组更换-R, --recursive
:递归处理,将某个目录的所有文件均更改用户组
默认用法
最简单的使用为将文件file归属到组group,使用方法为:
1 | $ chgrp group file |
此时的file数组组group,file1属于组group1。
更改文件夹的所属组
对于文件夹而言,就需要使用-R
参数来递归实现了,不然会报错的。
1 | $ chgrp -R group1 directory1 |
根据指定文件来修改组
这个参数比较有趣,也比较高效,如果希望某个用户的组权限与另外一个文件一致,此时--reference
强势出现
1 | $ chgrp --reference=ref_file stage_file |
该命令执行后,stage_file的权限将与ref_file的组权限一样。
TODO
设置SGID属性(确保NEWGROUP组拥有所有新建的文件),设置sticky(沾滞位)属性(以免文件被拥有者以外的其他人删除)
1 | chmod g+s,o+t /home/groupdir |
具体参考SGID/SUID/SBID以及sticky的详细含义。