2.19 特殊權限set_gid

set_gid

  • set_gid(s):可做用於文件(二進制可執行文件)和目錄。
  • 至關於set_gid 設置group組的權限位。
  • 能夠使用chmod g+(-) 【文件名/目錄名】 來設置權限。
  • 也就是將標誌s加到gid的x標誌位,sgid用在目錄上最多。

set_gid做用

- set_gid做用在文件上時,和set_uid效果一致,會使普通用戶臨時擁有所屬組的身份
[root@hf-01 ~]# chmod u=rwx /usr/bin/ls     將ls命令權限恢復成默認初始權限
[root@hf-01 ~]# !ls
ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls
[root@hf-01 ~]# chmod g+s /usr/bin/ls     設置set_gid權限
[root@hf-01 ~]# !ls
ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls

在切換到另外一個終端2hf(1)下
[hanfeng@hf-01 ~]$ ls /root/    將set_gid權限賦給ls,當在其餘用戶下使用ls命令時,(由於ls的所屬組是root,因此就會以root身份來執行)
11.txt  123  234  2.txt  33.txt  anaconda-ks.cfg.1  ha.txt  hf
[hanfeng@hf-01 ~]$ ls -ld /root/
dr-xr-x---. 5 root root 4096 10月 26 09:41 /root/

set_gid用法——>目錄

[root@hf-01 ~]# ls -l
總用量 8
-rw-r--r--. 1 root root   0 10月 26 08:39 11.txt
drwxr-xr-x. 2 root root   6 10月 26 08:39 123
drwxrwxr-x. 2 root root   6 10月 26 08:57 234
-rwxrwxrwx. 1 root root 924 10月 25 06:49 2.txt
-rw-rw-r--. 1 root root   0 10月 26 08:56 33.txt
-rw-------. 1 root root 973 8月  21 05:05 anaconda-ks.cfg.1
-rw-rw-r--. 1 root root   0 10月 26 09:41 ha.txt
dr-x--xr-x. 2 root root  18 10月 26 06:56 hf
[root@hf-01 ~]# chmod g+s 234       更改234目錄的set_gid權限
[root@hf-01 ~]# ls -ld 234
drwxrwsr-x. 2 root root 6 10月 26 08:57 234
[root@hf-01 ~]# chown :hanfeng 234      再來更改234目錄所屬組的權限
[root@hf-01 ~]# ls -ld 234
drwxrwsr-x. 2 root hanfeng 6 10月 26 08:57 234
[root@hf-01 ~]# touch 234/gurui         在目錄234下新建文件gurui
[root@hf-01 ~]# ls -l 234/      查看全部者和全部組
總用量 0
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
[root@hf-01 ~]# mkdir 234/am            在目錄234下新建目錄am 
[root@hf-01 ~]# ls -l 234/
總用量 0
drwxr-sr-x. 2 root hanfeng 6 10月 27 07:47 am
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
[root@hf-01 ~]# chmod g-s 234       去除set_gid臨時權限
[root@hf-01 ~]# touch 234/gurui111  在234目錄下新建gurui111文件
[root@hf-01 ~]# !ls     發如今root用戶下建立的文件,全部組默認都是root
ls -l 234/
總用量 0
drwxr-sr-x. 2 root hanfeng 6 10月 27 07:47 am
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
-rw-r--r--. 1 root root    0 10月 27 07:48 gurui111
[root@hf-01 ~]# mkdir 234/am1   在目錄234下新建目錄am1
[root@hf-01 ~]# ls -l 234/  發如今root用戶下建立的目錄,全部組默認都是root
總用量 0
drwxr-sr-x. 2 root hanfeng 6 10月 27 07:47 am
drwxr-xr-x. 2 root root    6 10月 27 07:49 am1
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
-rw-r--r--. 1 root root    0 10月 27 07:48 gurui111
  • 當給一個目錄設置了set_gid以後,再去這個目錄下面建立子目錄和子文件的時候,那這個子文件和子目錄的所屬組會跟着父級目錄(就是剛剛建立的set_gid權限的目錄)保持一致。

set_gid總結

  • set_gid這個權限的做用,他不單單能夠做用在文件上,也能夠做用在目錄上
    • 看成用在文件上,和set_uid做用相似,能夠讓執行文件的普通用戶臨時擁有所屬組的身份。
    • 看成用在目錄上,在建立子目錄和子文件的時候,子目錄和子文件所屬組和該目錄的所屬組保持一致
相關文章
相關標籤/搜索