1. 程式人生 > >特殊權限set_uid、set_gid、stick_bit

特殊權限set_uid、set_gid、stick_bit

linux基礎

linux中除了常見的讀(r)、寫(w)、執行(x)權限以外,還有3個特殊的權限,分別是setuid、setgid和stick bit

-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd

所屬者多了一個r,這就是setuid

setuid就是:讓普通用戶擁有可以執行“只有root權限才能執行”的特殊權限,setgid同理指"組"

stick bit (粘貼位)

[[email protected] ~]# ls -ld /tmp/

drwxrwxrwt. 8 root root 225 Oct 15 17:26 /tmp/

tmp目錄是所有用戶共有的臨時文件夾,所有用戶都擁有讀寫權限,這就必然出現一個問題,A用戶在/tmp裏創建了文件a.file,此時B用戶看了不爽,在/tmp裏把它給刪了(因為擁有讀寫權限),那肯定是不行的。實際上是不會發生這種情況,因為有特殊權限stick bit(粘貼位)權限,正如drwxrwxrwt中的最後一個t;

stick bit (粘貼位)就是:除非目錄的屬主和root用戶有權限刪除它,除此之外其它用戶不能刪除和修改這個目錄。也就是說,在/tmp目錄中,只有文件的擁有者和root才能對其進行修改和刪除,其他用戶則不行,避免了上面所說的問題產生。用途一般是把一個文件夾的的權限都打開,然後來共享文件,象/tmp目錄一樣。


setuid:chmod u+s xxx

setgid: chmod g+s xxx

stick bit : chmod o+t xxx

setuid:chmod 4755 xxx

setgid:chmod 2755 xxx

stick bit:chmod 1755 xxx

最後,在一些文件設置了特殊權限後,字母不是小寫的s或者t,而是大寫的S和T,那代表此文件的特殊權限沒有生效,是因為你尚未給它對應用戶的x權限



本文出自 “探索發現新事物” 博客,請務必保留此出處http://shenj.blog.51cto.com/5802843/1972644

特殊權限set_uid、set_gid、stick_bit