特殊權限:SUID, SGID, STICKY
安全上下文:
1.進程以某用戶的身份運行;進程是發起此進程用戶的代理。因此以此用戶的身份和權限完成所有操作;
2.權限匹配模型:
1.判斷進程的屬主,是否爲被訪問的文件屬主;如果是,則應用屬組的權限;否則進入第2步;
2.判斷進程的屬主,是否屬於被訪問的文件屬組;如果是,則應用屬組的權限;否則進入第3步;
3.應用other的權限;
SUID:
默認情況下:用戶發起的進程,進程的屬主是其發起者;因此,其以發起者的身份在運行;
SUID的功用:用戶運行某程序時,如果此程序擁有SUID權限,那麼程序運行爲進程時,進程的屬主不是發起者,而程序文件自己的屬主;
管理文件的SUID權限:
chmod u+ | -s FILE....
展示位置: 爲屬主的執行權限位;
如果屬主原本有執行權限,顯示爲小寫s;
否則,顯示爲大寫S;
SGID:
功用:當目錄屬組有寫權限,且有SGID權限時,那麼所有屬於此目錄的屬組,且以屬組身份在此目錄中新建文件或目錄時,新文件的屬組不是用戶的基本組,而是此目錄的屬組;
管理文件的SGID權限:
chmod g+ | -s FILE....
展示位置: 爲屬組的執行權限位;
如果屬組原本有執行權限,顯示爲小寫s;
否則,顯示爲大寫S;
sticky:
功用:對於屬組或全局可寫的目錄,組內的所有用戶或系統上的所有用戶對在此目錄中都能創建新文件或刪除所有的已有文件;如果爲此類目錄設置sticky權限,則每個用戶能創建新文件,且只能刪除自己的文件;
管理文件的sticky權限:
chmod o + | - t
展示位置: 其它用戶的執行權限位;
如果其它用戶原本有執行權限,顯示爲小寫t;
否則,顯示爲大寫T;
系統上的/tmp和/var/tmp目錄默認均有sticky權限;
管理特殊權限的另一方式:
suid sgid sticy 八進制權限
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
基於八進制方式賦權時,可於默認的三位八進制數字左側再加一位八進制數字;
例如:chmod 1777
facl: file access control lists
文件的額外賦權機制:
在原來的u,g,o之外,另一層讓普通用戶能控制賦權給另外的用戶或組的賦權機制;
getfacl命令: