chgrp 改变目录文件所属的用户组

功能:Chgrp 命令变更文件目录所属用户组(群组)。Chgrp,是change group的缩写。

语法:chgrp  [选项]  组  文件目录名称
短选项 长选项 含义
-c --changes 当发生改变时输出调试信息。仅显示更改的信息。
-f --quiet或--silent 不显示错误信息
-R --recursive 递归处理,将指定目录下的所有文件及子目录一并处理
-v --verbose 显示指令执行过程
-h --no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件
--reference=<文件或者目录> 参考文件或目录。
把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
--dereference 指明对符号链接所指的文件进行操作,而不是符号链接本身
  • 使用命令的当前用户,必须是该文件的所有者或超级用户或者拥有root(根)用户权限,否则不能改变该文件的组。
  • 要被改变的组名必须要在/etc/group文件内存在。 可以是组名称,也可以是组识别码
  • 若是包含多个文件的文件列表,则文件名之间以空格分开。文件名支持通配符。

 

 
若用普通用户登录,又不是文件的所有者,需要使用 sudo 命令来获得 root根用户权限 
 
改变cdy文件的属组为:abc 
linux@server:~$ sudo chgrp -v abc cdy 
“cdy” 的所属组已更改为 abc 
linux@server:~$ ll cdy 
-rw-r--r-- 1 linux abc 179 2010-12-04 14:49 cdy 
 
用文件count的属组来改变cdy文件的属组 
linux@server:~$ ll count cdy 
-rw-r--r-- 1 linux abc   179 2010-12-04 14:49 cdy 
-rw-r--r-- 1 linux linux   1 2010-12-04 20:23 count 
linux@server:~$ sudo chgrp --reference=count  cdy 
linux@server:~$ ls -l count cdy 
-rw-r--r-- 1 linux linux 179 2010-12-04 14:49 cdy 
-rw-r--r-- 1 linux linux   1 2010-12-04 20:23 count 
linux@server:~$ 
 
 
对链接文件的目标进行属组修改 
linux@server:~$ ln -s cdy link_cdy #建立链接文件 
linux@server:~$ ll cdy link_cdy 
-rw-r--r-- 1 linux linux 179 2010-12-04 14:49 cdy 
lrwxrwxrwx 1 linux linux   3 2010-12-07 17:41 link_cdy -> cdy 
linux@server:~$ sudo chgrp --dereference abc link_cdy #对目标cdy进行操作 
linux@server:~$ ll cdy link_cdy 
-rw-r--r-- 1 linux abc   179 2010-12-04 14:49 cdy 
lrwxrwxrwx 1 linux linux   3 2010-12-07 17:41 link_cdy -> cdy 
linux@server:~$  
 
测试默认是对链接文件的目标操作,如果想对链接文件的操作用-h 
linux@server:~$ sudo chgrp -h  abc link_cdy 

 

 
改变指定目录以及其子目录下的所有文件的群组属性 
[root@localhost test]# ll 
drwxr-xr-x 2 root root   4096 11-30 08:39 test6 
[root@localhost test]# cd test6 
[root@localhost test6]# ll 
---xr--r-- 1 root root 302108 11-30 08:39 linklog.log 
---xr--r-- 1 root root 302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root root     61 11-30 08:39 log2013.log 
-rw-r--r-- 1 root root      0 11-30 08:39 log2014.log 
-rw-r--r-- 1 root root      0 11-30 08:39 log2015.log 
-rw-r--r-- 1 root root      0 11-30 08:39 log2016.log 
-rw-r--r-- 1 root root      0 11-30 08:39 log2017.log 
[root@localhost test6]# cd .. 
[root@localhost test]# chgrp -R bin test6  
[root@localhost test]# cd test6 
[root@localhost test6]# ll 
---xr--r-- 1 root bin 302108 11-30 08:39 linklog.log 
---xr--r-- 1 root bin 302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root bin     61 11-30 08:39 log2013.log 
-rw-r--r-- 1 root bin      0 11-30 08:39 log2014.log 
-rw-r--r-- 1 root bin      0 11-30 08:39 log2015.log 
-rw-r--r-- 1 root bin      0 11-30 08:39 log2016.log 
-rw-r--r-- 1 root bin      0 11-30 08:39 log2017.log 
[root@localhost test6]# cd .. 
[root@localhost test]# ll 
drwxr-xr-x 2 root bin    4096 11-30 08:39 test6 
[root@localhost test]# 
 
 
 
通过群组识别码改变文件群组属性 
100为users群组的识别码,具体群组和群组识别码可以去/etc/group文件中查看 
[root@localhost test]# chgrp -R 100 test6  
[root@localhost test]# ll 
drwxr-xr-x 2 root users   4096 11-30 08:39 test6 
[root@localhost test]# cd test6 
[root@localhost test6]# ll 
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log 
---xr--r-- 1 root users 302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log 
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log 
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log 
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log 
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log 
[root@localhost test6]#