該權限是讓普通用戶能夠用root的角色運行只有root才能運行的程序或命令。
如:用普通用戶運行passwd命令來修改密碼,實際上最終更改的是/etc/passwd文件,咱們知道/etc/passwd文件是用戶管理的配置文件,只有root權限的用戶才能更改;ui
[root@localhost ~]# ls -l /etc/passwd -rw-r--r-- 1 root root 2379 04-21 13:18 /etc/passwd
做爲普通用戶經過修改 /etc/passwd 來修改本身的口令確定是不可能的,可是系統中普通用戶能夠經過 passwd 命令來修改本身的口令;這主要是由於 passwd 命令的權限中添加了setuid 權限(也就是r-s--x--x中的s);因此普通用戶能臨時變成root,間接修改/etc/passwd,以達到修改本身口令的權限。code
[root@localhost ~]# ls -l /usr/bin/passwd -r-s--x--x 1 root root 21944 02-12 16:15 /usr/bin/passwd
該權限只對目錄有效,目錄被設置該權限後, 任何用戶在此目錄下建立的文件都具備和該目錄所屬的組相同的組。it
該權限能夠理解爲防刪除位;一個文件是否能夠被某用戶刪除,主要取決於該文件所屬的組是否對該用戶具備寫權限。若是沒有寫權限,則這個目錄下的全部文件都不能被刪除,同時也不能添加新的文件。 若是但願用戶可以添加文件但同時不能刪除文件,則能夠對文件使用sticky bit權限; 設置該權限後, 就算用戶對目錄具備寫權限,也不能刪除該文件。配置
特殊權限的操做與普通權限操做的命令是同樣的,都是 chmod;權限
chmod u+s temp
-- 爲temp文件加上setuid標誌. (setuid 只對文件有效)
chmod g+s tempdir
-- 爲tempdir目錄加上setgid標誌 (setgid 只對目錄有效)
chmod o+t temp
-- 爲temp文件加上sticky標誌 (sticky只對文件有效)程序
通常文件權限經過三組八進制數字來置標誌,如:666, 777, 644等;設置這些特殊權限標誌,則在這組數字以外在加一組八進制數字(如:4666
、2777
等); a b c 一組八進制數字三位的意義以下
a - setuid位, 若是該位爲1, 則表示設置setuid 4---
b - setgid位, 若是該位爲1, 則表示設置setgid 2---
c - sticky位, 若是該位爲1, 則表示設置sticky 1---密碼
設置了特殊權限,能夠用 ls -l 來查看;若是有這些標誌,則會在原來的執行標誌位置上顯示。
如:
rwsrw-r--
表示有 setuid 權限
rwxrwsrw-
表示有 setgid 權限
rwxrw-rwt
表示有 sticky 權限
原來的執行標誌x哪裏去了呢?系統規定,若是原本在該位上有x,則這些特殊標誌顯示爲小寫字母 (s
、s
、t
); 不然,顯示爲大寫字母 (S
、S
、 T
)。配置文件
注意:setuid和setgid會面臨風險,因此儘量的少用!!!樣式