1. 程式人生 > >linux每日命令(28):chgrp命令

linux每日命令(28):chgrp命令

在linux系統裡,檔案或目錄的許可權的掌控以擁有者及所屬群組來管理。可以使用chgrp指令取變更檔案與目錄所屬群組,這種方式採用群組名稱或群組識別碼都可以。Chgrp命令就是change group的縮寫!要被改變的組名必須要在/etc/group檔案記憶體在才行。

一.命令格式:

chgrp [選項] [組] [檔案]

二.命令功能:

chgrp命令可採用群組名稱或群組識別碼的方式改變檔案或目錄的所屬群組。使用許可權是超級使用者

三.命令引數:

引數 描述
-c 當發生改變時輸出除錯資訊
-f 不顯示錯誤資訊
-R 處理指定目錄以及其子目錄下的所有檔案
-v 執行時顯示詳細的處理資訊
--dereference 作用於符號連結的指向,而不是符號連結本身
--no-dereference 作用於符號連結本身
--reference= <檔案或者目錄> 根據指定檔案改變檔案的群組屬性
--help 顯示幫助資訊
--version 顯示版本資訊

四.使用例項:

1:改變檔案的群組屬性

命令:

chgrp -v bin log1

輸出:


[[email protected] test]# ll log1
---xrw-r--. 2 root root 0 Nov 22 03:54 log1
[[email protected] test]# chgrp -v bin log1
changed group of ‘log1’ from root to bin
[[email protected] test]# ll log1
---xrw-r--. 2 root bin 0 Nov 22 03:54 log1

說明:

將log1檔案由root群組改為bin群組

2:根據指定檔案改變檔案的群組屬性

命令:

chgrp --reference=log1 dir2

輸出:


[[email protected] 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
[[email protected] test]# chgrp --reference=log1 dir2
[[email protected] 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

輸出:


[[email protected] 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
[[email protected] 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
[[email protected] test]# chgrp -R bin dir1
[[email protected] 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

輸出:


[[email protected] test]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
...

[[email protected] test]# chgrp -R 0 dir1
[[email protected] 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

[[email protected] 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檔案中檢視