0%

有所依靠的chgrp

有所依靠的chgrp

.. code::
鸿鹄志、向炎天。
宋 刘克庄《贺新郎·杜子昕凯歌》

Linux的chgrp命令用于变更文件或者目录所属的组group。

这里的变更不仅限于本人的组,只要用户属于的组,均可以使用chgrp更改相应的权限而不是必须使用管理员权限。

很多权限的操作可以与chmod来交叉。比如如果希望文件只有本组成员访问,可以通过chmod 770 file/directory,此时就涉及到组的概念了。

官方定义为:

chgrp - change group ownership

语法为:

1
2
$ chgrp [OPTION]... GROUP FILE...
$ chgrp [OPTION]... --reference=RFILE FILE...

常用的几个参数为:

  • --reference=RFILE : 参考指定文件进行所属组更换

  • -R, --recursive :递归处理,将某个目录的所有文件均更改用户组

默认用法

最简单的使用为将文件file归属到组group,使用方法为:

1
2
$ chgrp group file
$ chgrp group1 file1

此时的file数组组group,file1属于组group1。

更改文件夹的所属组

对于文件夹而言,就需要使用-R参数来递归实现了,不然会报错的。

1
2
$ chgrp -R group1 directory1
$ chgrp -R group2 directory2

根据指定文件来修改组

这个参数比较有趣,也比较高效,如果希望某个用户的组权限与另外一个文件一致,此时--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的详细含义。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道