SGID 測試

  1. 查詢 deyu1 及 deyu2 的附屬群組是 sharegrp。
    [root@kvm8 ~]# getent group sharegrp
    sharegrp:x:2205:deyu1,deyu2
    
  2. 登入 deyu1。
    [root@kvm8 ~]# su - deyu1
    Last login: Thu Oct 16 15:32:33 CST 2025 on pts/0
    
  3. deyu1 的附屬群組是 sharegrp,可以進入 SGID 的目錄 /home/shared。
    [deyu1@kvm8 ~]$ cd /home/shared/
    [deyu1@kvm8 shared]$
    
  4. 查看目錄 /home/shared 中沒有任何檔案。
    [deyu1@kvm8 shared]$ ll
    total 0
    
  5. 產生空檔案 deyu1.txt。
    [deyu1@kvm8 shared]$ echo 'deyu1 test' > deyu1.txt
    [deyu1@kvm8 shared]$ cat deyu1.txt
    deyu1 test
    
  6. 查看新增的檔案 deyu1.txt,擁有者是 deyu1,因為目錄 /home/shared SGID,所以在此目錄中新增的檔案所屬群組是 sharegrp。
    [deyu1@kvm8 shared]$ ll
    total 4
    -rw-r--r--. 1 deyu1 sharegrp 11 Oct 23 16:08 deyu1.txt
    
  7. 退出帳號 deyu1,再切換成 deyu2。
    [deyu1@kvm8 shared]$ exit
    logout
    [root@kvm8 ~]# su - deyu2
    
  8. deyu2 的附屬群組也是 sharegrp,所以也可以進到 SGID 的目錄 /home/shared。
    [deyu2@kvm8 ~]$ cd /home/shared/
    [deyu2@kvm8 shared]$
    
  9. 目錄 /home/shared 中同群組的帳號,都可以讀取,所以 deyu2 可以查看 deyu1 產生的檔案 deyu1.txt。
    [deyu2@kvm8 ~]$ cd /home/shared/
    [deyu2@kvm8 shared]$ ll
    total 4
    -rw-r--r--. 1 deyu1 sharegrp 11 Oct 23 16:08 deyu1.txt
    [deyu2@kvm8 shared]$ cat deyu1.txt
    deyu1 test
    
  10. 因目錄 /home/shared 屬性 2770 ,同群組帳號 deyu2 刪除 deyu1.txt,雖警告移除寫入保護的檔案,還是可按 y 刪除。
    [deyu2@kvm8 shared]$ rm deyu1.txt
    rm: remove write-protected regular file 'deyu1.txt'? y
    [deyu2@kvm8 shared]$ ll
    total 0
    
  11. 帳號 deyu2 在目錄 /home/shared 中新增 deyu2.txt,其所屬群組一樣為 sharegrp。
    [deyu2@kvm8 shared]$ echo 'deyu2 test' > deyu2.txt
    [deyu2@kvm8 shared]$ ll
    total 4
    -rw-r--r--. 1 deyu2 sharegrp 11 Oct 23 16:12 deyu2.txt
    
  12. 退出帳號 deyu2,再切換成 deyu4。
    [deyu2@kvm8 shared]$ exit
    logout
    [root@kvm8 ~]# su - deyu4
    
  13. deyu4 不是 sharegrp 群組成員,所以無法進入目錄 /home/shared。
    [deyu4@kvm8 ~]$ cd /home/shared/
    -bash: cd: /home/shared/: Permission denied
    
  14. 退出 deyu4 帳號。
    [deyu4@kvm8 ~]$ exit
    logout