2.Set GID:
- 檔案:如果 SGID 是設定在 binary file 上面,則不論使用者是誰,在執行該程式的時候, 他的有效群組 (effective group) 將會變成該程式的群組所有人 (group id)。
- 目錄:如果 SGID 是設定在 A 目錄上面,則在該 A 目錄內所建立的檔案或目錄的 group ,將會是 此 A 目錄的 group .
3.Sticky Bit: 目前只針對目錄有效,對于檔案已經沒有效果了。 SBit 對于目錄的作用是:‘在具有 SBit 的目錄下,使用者若在該目錄下具有 w 及 x 的權限, 則當使用者在該目錄下建立檔案或目錄時,只有檔案擁有者與 root 才有權力刪除’。換句話說:當甲這個使用者于 A 目錄下是擁有 group 或者是 other 的項目,并且擁有 w 的權限, 這表示‘甲使用者對該目錄內任何人建立的目錄或檔案均可進行 "刪除/更名/搬移" 等動作。’ 不過,如果將 A 目錄加上了 Sticky bit 的權限項目時, 則甲只能夠針對自己建立的檔案或目錄進行刪除/更名/移動等動作
4.SUID/SGID/SBIT 權限設定: 如何開啟檔案使成為具有 SUID 與 SGID 的權限呢?! 這就需要剛剛的數字更改權限的方法了!現在你應該已經知道數字型態個更改權限方式為‘三個數字’的組合, 那么如果在這三個數字之前再加上一個數字的話,那最前的面數字就代表這幾個屬性了! ( 注:通常我們使用 chmod xyz filename 的方式來設定 filename 的屬性時,則是假設沒有 SUID, SGID 及 Sticky bit 啦! )
- 4 為 SUID
- 2 為 SGID
- 1 為 Sticky bit
[root@linux ~]# cd /tmp
[root@linux tmp]# touch test
[root@linux tmp]# chmod 4755 test; ls -l test
-rwsr-xr-x 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 6755 test; ls -l test
-rwsr-sr-x 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 1755 test; ls -l test
-rwxr-xr-t 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 7666 test; ls -l test
-rwSrwSrwT 1 root root 0 Jul 20 11:27 test
# 這個例子就要特別小心啦!怎么會出現大寫的 S 與 T 呢?不都是小寫的嗎?
# 因為 s 與 t 都是取代 x 這個參數的,但是你有沒有發現阿,我們是下達
# 7666 喔!也就是說, user, group 以及 others 都沒有 x 這個可執行的標志
# ( 因為 666 嘛! ),所以,這個 S, T 代表的就是‘空的’啦!怎么說?
# SUID 是表示‘該檔案在執行的時候,具有檔案擁有者的權限’,但是檔案
# 擁有者都無法執行了,哪里來的權限給其他人使用?當然就是空的