Linux文件系統上的特殊權限
SUID SGID Sticky
1、權限
r,w,x
user,group,other
2、安全上下文
前提:進程有屬主屬組,文件有屬主和屬組
(1)任何一個可執行程序文件能不能啓動爲進程;取決於發起者對程序文件是否擁有執行權限
(2)啓動爲進程之後,其進程的屬主爲發起者,進程的屬組爲發起者所屬的組
(3) 進程訪問文件時的權限,取決於進程的發起者
(a) 進程的發起者,同文件的屬主,則應用文件屬主權限
(b) 進程的發起者,屬於文件的屬組,則應用文件屬組權限
(c) 應用文件"其他"權限
3、SUID
(1) 任何一個可執行程序文件能不能啓動爲進程;取決於發起者對程序文件是否擁有執行權限
(2) 啓動爲進程之後,其進程的屬主爲源程序文件的屬主;
權限設定
chmod u+s FILE ...
chmod u-s FILE ...
4、SGID
默認情況下,用戶創建文件時,其屬組爲此用戶所屬的基本組
一旦某目錄被設定SGID,則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組爲此目錄的屬組
權限設定:
chmod g+s DIR...
chmod g-s DIR...
5、Sticky
對於一個多人可寫的目錄,如果設置了sticky,則每個用戶僅能刪除自己的文件
權限設定:
chmod o+t DIR...
chmod o-t DIR...
幾個權限位映射:
SUID: user,佔據屬主的執行權限位
s:屬主擁有X權限
S:屬主沒有X權限
SGID: group,佔據屬組的執行權限位
s:屬主擁有X權限
S:屬主沒有X權限
Sticky: other,佔據屬主的執行權限位
t:屬主沒有X權限
T:屬主擁有X權限