linux特殊權(quán)限SUID、SGID、SBIT

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

好文要頂關(guān)注我收藏該文

?上一篇:Fiddler進(jìn)行模擬Post提交數(shù)據(jù),總為null解決方式

?下一篇:Linux FHS

posted @2014-10-15 13:15天魂地煞閱讀(3700) |編輯收藏

文章搜索

最新文章

1. spring boot基礎(chǔ)之servlet3.0和spring4.x零配置相關(guān)文章

2. jvm系列文章收集

3. java調(diào)用c/c++

4. linux top命令結(jié)果參數(shù)詳解

5. kvm/qemu/libvirt學(xué)習(xí)筆記 (1) qemu/kvm/libvirt介紹及虛擬化環(huán)境的安裝

6. 云計(jì)算設(shè)計(jì)模式系列文章

7. RSA算法原理

8. 數(shù)據(jù)庫Sharding系列文章

9. spring bean的生命周期

10. spring HttpInvoker相關(guān)學(xué)習(xí)資料

文章歸檔

2017年8月 (1)

2017年2月 (1)

2017年1月 (1)

2016年8月 (1)

2016年7月 (1)

2016年3月 (1)

2015年12月 (1)

2015年11月 (7)

2015年10月 (4)

2015年9月 (8)

2015年8月 (17)

2015年7月 (10)

2015年6月 (7)

2015年5月 (8)

2015年3月 (6)

2015年2月 (4)

2015年1月 (7)

2014年12月 (7)

2014年11月 (4)

2014年10月 (10)

2014年9月 (13)

2014年8月 (1)

2014年7月 (5)

2014年6月 (12)

2014年5月 (39)

2014年4月 (56)

2014年3月 (4)

熱門文章

1. 用html5 js實(shí)現(xiàn)瀏覽器全屏(15286)

2. java中的SPI機(jī)制(15267)

3. 代碼提交時(shí)讓svn忽略classpath、target、.project等(10323)

4. 深入理解Thread.sleep的含義(7627)

5. 從一道面試題來認(rèn)識java類加載時(shí)機(jī)與過程(7553)

6. protobuf學(xué)習(xí)(1)-ubuntu14.04下protobuf2.6安裝(5868)

7. js快速判斷IE瀏覽器(兼容IE10與IE11)(4801)

8. linux中tar之解壓和壓縮常用(4464)

9. java中設(shè)置代理的兩種方式(3850)

10. IT技術(shù)思維導(dǎo)圖(3708)

11. linux特殊權(quán)限SUID、SGID、SBIT(3701)

12. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.(3574)

13. linux中的輸入從定向和輸出重定向(3226)

14. HttpUrlConnection 的 setDoOutput 與 setDoInput(2149)

15. linux壓力測試工具stress(1929)

16. linux 命令行中常用光標(biāo)移動快捷鍵(1903)

17. html中的meta詳解(1884)

18. 關(guān)于java中MessageFormat.format中單引號問題(1797)

19. java中可定制的序列化過程 writeObject與readObject(1753)

20. mysql行鎖和表鎖(1404)

我的微博

目錄導(dǎo)航

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容