linux特殊權(quán)限SUID、SGID、SBIT
對于linux中文件或目錄的權(quán)限,應(yīng)該都知道普通的rwx權(quán)限(關(guān)于linux中rwx權(quán)限的看我的這篇博文http://www.cnblogs.com/javaee6/p/3994750.html)。我們先看看下面兩個(gè)的權(quán)限是什么


非常奇怪,/tmp目錄和 passwd文件的權(quán)限怎么怪怪的,怎么有s和t權(quán)限呢??戳讼旅娴膬?nèi)容你就明白了。
1 SUID
當(dāng)s出現(xiàn)在文件擁有者的x權(quán)限上時(shí),如我們上面看到的/usr/bin/passwd這個(gè)文件的權(quán)限時(shí)-rwsr-xr-x,此時(shí)就被稱為SET UID簡稱SUID.SUID對于一個(gè)文件有什么限制和功能呢?
SUID權(quán)限僅對二進(jìn)制可執(zhí)行文件有效
執(zhí)行者對于該文件具有x的權(quán)限
本權(quán)限僅在執(zhí)行該文件的過程中有效
執(zhí)行者將具有該文件擁有者的權(quán)限
例如普通用戶用passwd修改自己的命令,實(shí)際上最終更改的是/etc/passwd文件. 此文件時(shí)用戶管理配置文件,只有root權(quán)限才能更改。

既然是root用戶才擁有此權(quán)限,為什么我們可以通過passwd命令來修改密碼呢,那這就要?dú)w功于passwd設(shè)置了suid權(quán)限位了。

此時(shí)普通用戶通過執(zhí)行passwd命令,臨時(shí)擁有root權(quán)限,間接的修改/etc/passwd,以達(dá)到修改自己密碼的權(quán)限。
2 SGID
當(dāng)s出現(xiàn)在目錄或文件所屬群的x權(quán)限上時(shí),此時(shí)就稱為SET GID簡稱SGID,那SGID對文件和目錄分部有哪些功能呢?
2.1 SGID對目錄
使用者若對于此目錄具有 r 與 x 的權(quán)限時(shí),該使用者能夠進(jìn)入此目錄
使用者在此目錄下的群組將會變成該目錄的群組
若使用者在此目錄下具有 w 的權(quán)限(可以新建文件),則使用者所創(chuàng)建的新文件,該新文件的群組與此目錄的群組相同
2.2 SGID對文件
SGID 對二進(jìn)制可執(zhí)行文件有效
程式執(zhí)行者對于該文件來說,需具備 x 的權(quán)限
執(zhí)行者在執(zhí)行的過程中將會獲得該文件群組的支援(用于改文件群組的權(quán)限)
3 SBIT
當(dāng)s出現(xiàn)在目錄其他用戶的x權(quán)限上時(shí),此時(shí)就稱為Sticky Bit簡稱SBIT,那SBIT有哪些限制和作用呢?
僅對目錄有效,對文件無效
當(dāng)使用者在該目錄下建立文件或目錄時(shí)(有權(quán)限的情況下),僅自己與 root 才有權(quán)力刪除新建的目錄或文件
我們知道/tmp目錄是這樣的權(quán)限。

現(xiàn)在我們來驗(yàn)證下,先用root賬號在tmp文件中創(chuàng)建一個(gè)文件test,然后用openstack(其他賬號)進(jìn)入該目錄,刪除test文件,看看發(fā)生什么情況

我們看到這樣是不能刪除文件的。因?yàn)?temp目錄有SBIT權(quán)限。
4 怎么操作SUID、SBID、SBIT
操作這些標(biāo)志與操作文件權(quán)限的命令是一樣的, 都是chmod. 有兩種方法來操作,
(1)符號類型改變權(quán)限
chmod u+s testbin-- 為testbin文件加上setuid標(biāo)志.
chmod g+s testdir-- 為testdir目錄加上setgid標(biāo)志
chmod o+t testdir-- 為testdir目錄加上sticky標(biāo)志
(2) 數(shù)字類型改變檔案權(quán)限
采用八進(jìn)制方式. 對一般文件通過三組八進(jìn)制數(shù)字來置標(biāo)志, 如 666, 777, 644等. 如果設(shè)置這些特殊標(biāo)志, 則在這組數(shù)字之外外加一組八進(jìn)制數(shù)字. 如 4666, 2777等. 這一組八進(jìn)制數(shù)字三位的意義如下,
abc
a - setuid位, 如果該位為1, 則表示設(shè)置setuid 4---
b - setgid位, 如果該位為1, 則表示設(shè)置setgid 2---
c - sticky位, 如果該位為1, 則表示設(shè)置sticky 1---
設(shè)置完這些標(biāo)志后, 可以用 ls -l 來查看. 如果有這些標(biāo)志, 則會在原來的執(zhí)行標(biāo)志位置上顯示. 如
rwsrw-r-- 表示有setuid標(biāo)志
rwxrwsrw- 表示有setgid標(biāo)志
rwxrw-rwt 表示有sticky標(biāo)志
那么原來的執(zhí)行標(biāo)志x到哪里去了呢? 系統(tǒng)是這樣規(guī)定的, 如果本來在該位上有x, 則這些特殊標(biāo)志顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (S, S, T)
作者:天魂地煞
網(wǎng)站:http://www.mypad.tk
出處:http://www.cnblogs.com/javaee6/p/4026108.html
如果,您認(rèn)為閱讀這篇博客讓您有些收獲,不妨收藏起來,給予評論下!
如果,您希望更容易地發(fā)現(xiàn)我的新博客,不妨關(guān)注下我!
如果,您對我的博客所講述的內(nèi)容有興趣,請繼續(xù)關(guān)注我的后續(xù)博文!
本博客中未標(biāo)明原文地址的文章歸作者天魂地煞,歡迎轉(zhuǎn)載,希望在文章頁面明顯位置給出原文連接!
分類:Linux,Linux-----基礎(chǔ)與系統(tǒng)管理
標(biāo)簽:linux


?上一篇:Fiddler進(jìn)行模擬Post提交數(shù)據(jù),總為null解決方式
posted @2014-10-15 13:15天魂地煞閱讀(3700) |編輯收藏
文章搜索
最新文章
1. spring boot基礎(chǔ)之servlet3.0和spring4.x零配置相關(guān)文章
4. linux top命令結(jié)果參數(shù)詳解
5. kvm/qemu/libvirt學(xué)習(xí)筆記 (1) qemu/kvm/libvirt介紹及虛擬化環(huán)境的安裝
10. spring HttpInvoker相關(guān)學(xué)習(xí)資料
文章歸檔
熱門文章
1. 用html5 js實(shí)現(xiàn)瀏覽器全屏(15286)
3. 代碼提交時(shí)讓svn忽略classpath、target、.project等(10323)
5. 從一道面試題來認(rèn)識java類加載時(shí)機(jī)與過程(7553)
6. protobuf學(xué)習(xí)(1)-ubuntu14.04下protobuf2.6安裝(5868)
7. js快速判斷IE瀏覽器(兼容IE10與IE11)(4801)
11. linux特殊權(quán)限SUID、SGID、SBIT(3701)
14. HttpUrlConnection 的 setDoOutput 與 setDoInput(2149)
16. linux 命令行中常用光標(biāo)移動快捷鍵(1903)
18. 關(guān)于java中MessageFormat.format中單引號問題(1797)
19. java中可定制的序列化過程 writeObject與readObject(1753)
我的微博
目錄導(dǎo)航