在linux系统里,文件或目录的权限的掌控以拥有者及所属群组来管理。可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以。Chgrp命令就是change group的缩写!要被改变的组名必须要在/etc/group文件内存在才行。
一.命令格式:
chgrp [选项] [组] [文件]
二.命令功能:
chgrp命令可采用群组名称或群组识别码的方式改变文件或目录的所属群组。使用权限是超级用户。
三.命令参数:
参数 | 描述 |
---|---|
-c | 当发生改变时输出调试信息 |
-f | 不显示错误信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
-v | 运行时显示详细的处理信息 |
--dereference | 作用于符号链接的指向,而不是符号链接本身 |
--no-dereference | 作用于符号链接本身 |
--reference=<文件或者目录> | 根据指定文件改变文件的群组属性 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
四.使用实例:
1:改变文件的群组属性
命令:
chgrp -v bin log1
输出:
[root@localhost test]# ll log1
---xrw-r--. 2 root root 0 Nov 22 03:54 log1
[root@localhost test]# chgrp -v bin log1
changed group of ‘log1’ from root to bin
[root@localhost test]# ll log1
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1
说明:
将log1文件由root群组改为bin群组
2:根据指定文件改变文件的群组属性
命令:
chgrp --reference=log1 dir2
输出:
[root@localhost test]# ll
total 0
drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1
drwxr-xr-x. 2 root root 30 Nov 26 19:34 dir2
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link
lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1
[root@localhost test]# chgrp --reference=log1 dir2
[root@localhost test]# ll
total 0
drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1
drwxr-xr-x. 2 root bin 30 Nov 26 19:34 dir2
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link
lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1
说明:
改变目录文件dir2 的群组属性,使得目录文件dir2 的群组属性和参考文件log1的群组属性相同
3:改变指定目录以及其子目录下的所有文件的群组属性
命令:
chgrp -R bin dir1
输出:
[root@localhost test]# ll
total 0
drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1
drwxr-xr-x. 2 root bin 30 Nov 26 19:34 dir2
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link
lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1
[root@localhost test]# ll dir1
total 44
-rwxrwxr-x. 1 root root 0 Nov 20 18:53 log1
-rw-r--r--. 1 root root 50 Nov 20 18:56 log2
drwxr-xr-x. 2 root root 44 Nov 20 19:35 log3
-rw-r--r--. 1 root root 2683 Nov 17 00:23 logging.py
-rw-r--r--. 1 root root 3877 Nov 17 00:23 logging.pyc
-rw-r--r--. 1 root root 2410 Nov 17 00:23 log.py
-rw-r--r--. 1 root root 3640 Nov 17 00:23 log.pyc
drwxr-xr-x. 3 root root 30 Nov 17 00:15 logs
-rw-r--r--. 1 root root 9679 Nov 17 00:23 log_test.py
-rw-r--r--. 1 root root 10246 Nov 17 00:23 log_test.pyc
[root@localhost test]# chgrp -R bin dir1
[root@localhost test]# ll dir1
total 44
-rwxrwxr-x. 1 root bin 0 Nov 20 18:53 log1
-rw-r--r--. 1 root bin 50 Nov 20 18:56 log2
drwxr-xr-x. 2 root bin 44 Nov 20 19:35 log3
-rw-r--r--. 1 root bin 2683 Nov 17 00:23 logging.py
-rw-r--r--. 1 root bin 3877 Nov 17 00:23 logging.pyc
-rw-r--r--. 1 root bin 2410 Nov 17 00:23 log.py
-rw-r--r--. 1 root bin 3640 Nov 17 00:23 log.pyc
drwxr-xr-x. 3 root bin 30 Nov 17 00:15 logs
-rw-r--r--. 1 root bin 9679 Nov 17 00:23 log_test.py
-rw-r--r--. 1 root bin 10246 Nov 17 00:23 log_test.pyc
说明:
将dir1目录以及其子目录下的所有文件的群组属性由root改变为bin
4:通过群组识别码改变文件群组属性
命令:
chgrp -R 0 dir1
输出:
[root@localhost test]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
...
[root@localhost test]# chgrp -R 0 dir1
[root@localhost test]# ll
total 0
drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1
drwxr-xr-x. 2 root bin 30 Nov 26 19:34 dir2
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link
lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1
[root@localhost test]# ll dir1
total 44
-rwxrwxr-x. 1 root root 0 Nov 20 18:53 log1
-rw-r--r--. 1 root root 50 Nov 20 18:56 log2
drwxr-xr-x. 2 root root 44 Nov 20 19:35 log3
-rw-r--r--. 1 root root 2683 Nov 17 00:23 logging.py
-rw-r--r--. 1 root root 3877 Nov 17 00:23 logging.pyc
-rw-r--r--. 1 root root 2410 Nov 17 00:23 log.py
-rw-r--r--. 1 root root 3640 Nov 17 00:23 log.pyc
drwxr-xr-x. 3 root root 30 Nov 17 00:15 logs
-rw-r--r--. 1 root root 9679 Nov 17 00:23 log_test.py
-rw-r--r--. 1 root root 10246 Nov 17 00:23 log_test.pyc
说明:
通过群组识别码改变文件群组属性,0为root群组的识别码,具体群组和群组识别码可以去/etc/group文件中查看