@(linux)[特殊權限]
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 SGID STICKY
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
chmod 4777 /tmp/a.txt
6.幾個權限位映射
SUID
: user, 占據屬主的執行權限位s
: 屬主擁有x權限S
:屬主沒有x權限SGID
: group, 占據group的執行權限位s
: group擁有x權限S
:group沒有x權限Sticky
: other, 占據ohter的執行權限位t
: other擁有x權限T
:other沒有x權限
7. 思維導圖
Linux文件系統上的特殊權限