如何設置setuid、setgid、sticky的許可權: setuid :置於 u 的 x 位,原位置有執行許可權,就置為 s,沒有了為 S . chmod 4xxx file chmod u+s xxx file setgid:置於 g 的 x 位,原位置有執行許可權,就置為 s,沒有了為 S . c ...
如何設置setuid、setgid、sticky的許可權:
setuid :置於 u 的 x 位,原位置有執行許可權,就置為 s,沒有了為 S .
chmod 4xxx file
chmod u+s xxx file
setgid:置於 g 的 x 位,原位置有執行許可權,就置為 s,沒有了為 S .
chmod 2xxx file
chmod g+s xxx file
sticky:粘滯位,置於 o 的 x 位,原位置有執行許可權,就置為 t ,否則為T .
chmod 1xxx file
chmod o+t xxx file
例如:
在root用戶下創建一個test目錄,並新建一個1.txt文件。
然後在普通用戶jyw下刪除1.txt文件,發現無法刪除。
在root用戶下添加setuid許可權S,那麼普通用戶jwy即可刪除1.txt文件的許可權
所以我們說特殊許可權位很危險,一旦被hacker拿到,呵呵了。
我們可以查看哪些命令有特殊許可權命令:
find / -type f –perm 4755|xargs ls
ping命令所有用戶都能使用,擁有特殊許可權,那麼我們把s許可權解除,普通用戶就無法ping了
---------------------------------------------------------------------
setgid:
例如:
對aaa目錄屬組更改為home,並授權於setgid S許可權,此目錄下新建的文件屬home組。
此時我們對aaa目錄解除setgid s許可權,此目錄下新建的文件不屬於home組
-------------------------------------------------------------------------------
sticky粘滯位:
例如:/tmp/ 公用的臨時文件存儲點
凡是linux用戶都能在/tmp/目下創建的文件為所欲為。
tmp文件的用途:
一般是把一個文件夾的許可權都打開,然後來共用文件,方便帶來的安全隱患,生產環境我們一般不這樣使用!
--------------------------------------------------------------------------
關於suid知識小結:針對命令和二進位程式的,腳本不行。
1) 用戶或屬主對應的前三位許可權的X位上如果有S就表示suid許可權。當X為上沒有小寫X執行許可權的時候,suid的許可權顯示的就是大S。
2) suid作用是讓普通用戶可以以root或其他的用戶角色運行只有root或者其他用戶才能運行的程式或命令,程式或命令對應本來沒有許可權操作的文件等。(註意和su及sudo的區別)
3) suid修改的是執行的命令passwd,而不是處理的目標文件/ect/shadow。
4) 僅對二進位命令程式有效,不能用在shell等類似腳本文件上。
5) 二進位命令程式需要有可執行X許可權配合。
6) suid許可權僅在程式命令執行過程中有效。
7) 執行suid命令的任意系統用戶都可以獲得該命令程式在執行期間對應的屬主許可權。
8) suid雙刃劍,是一個比較危險的功能,對系統安全有一定的危險,系統suid的無用功能取消suid的許可權(安全優化)
setgid許可權知識小結:
1) 與suid不同的是,sgid既可以針對文件也可以針對目錄設置。
2) sgid是針對用戶組許可權為修改的。
3) 對於文件來說,sgid的功能如下:
- sgid僅對二進位命令程式有效
- 二進位命令或程式需要有可執行X許可權。
- 執行程式的任意用戶可以獲得該命令程式執行期間所屬組的許可權
4) 對於目錄來說,sgid的功能如下:
- linux里預設情況下所有用戶創建文件,預設用戶和組都是自身。
- sgid可以讓用戶再此目錄下創建的文件和目錄,具有和此目錄相同的用戶許可權。
sticky許可權知識小結:
粘滯位1000許可權字元t(T),其他用戶位的X位上設置。chmod 1755 /tmp
如果對應為有X則字元許可權表現為小寫否則為大寫。