linux特殊權限SUID、SGID、SBIT

linux特殊權限SUID、SGID、SBIT

對于linux中文件或目錄的權限,應該都知道普通的rwx權限(關于linux中rwx權限的看我的這篇博文http://www.cnblogs.com/javaee6/p/3994750.html)。我們先看看下面兩個的權限是什么

非常奇怪,/tmp目錄和 passwd文件的權限怎么怪怪的,怎么有s和t權限呢。看了下面的內容你就明白了。

1 SUID

當s出現(xiàn)在文件擁有者的x權限上時,如我們上面看到的/usr/bin/passwd這個文件的權限時-rwsr-xr-x,此時就被稱為SET UID簡稱SUID.SUID對于一個文件有什么限制和功能呢?

SUID權限僅對二進制可執(zhí)行文件有效

執(zhí)行者對于該文件具有x的權限

本權限僅在執(zhí)行該文件的過程中有效

執(zhí)行者將具有該文件擁有者的權限

例如普通用戶用passwd修改自己的命令,實際上最終更改的是/etc/passwd文件. 此文件時用戶管理配置文件,只有root權限才能更改。

既然是root用戶才擁有此權限,為什么我們可以通過passwd命令來修改密碼呢,那這就要歸功于passwd設置了suid權限位了。

此時普通用戶通過執(zhí)行passwd命令,臨時擁有root權限,間接的修改/etc/passwd,以達到修改自己密碼的權限。

2 SGID

當s出現(xiàn)在目錄或文件所屬群的x權限上時,此時就稱為SET GID簡稱SGID,那SGID對文件和目錄分部有哪些功能呢?

2.1 SGID對目錄

使用者若對于此目錄具有 r 與 x 的權限時,該使用者能夠進入此目錄

使用者在此目錄下的群組將會變成該目錄的群組

若使用者在此目錄下具有 w 的權限(可以新建文件),則使用者所創(chuàng)建的新文件,該新文件的群組與此目錄的群組相同

2.2 SGID對文件

SGID 對二進制可執(zhí)行文件有效

程式執(zhí)行者對于該文件來說,需具備 x 的權限

執(zhí)行者在執(zhí)行的過程中將會獲得該文件群組的支援(用于改文件群組的權限)

3 SBIT

當s出現(xiàn)在目錄其他用戶的x權限上時,此時就稱為Sticky Bit簡稱SBIT,那SBIT有哪些限制和作用呢?

僅對目錄有效,對文件無效

當使用者在該目錄下建立文件或目錄時(有權限的情況下),僅自己與 root 才有權力刪除新建的目錄或文件

我們知道/tmp目錄是這樣的權限。

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

我們看到這樣是不能刪除文件的。因為/temp目錄有SBIT權限。

4 怎么操作SUID、SBID、SBIT

操作這些標志與操作文件權限的命令是一樣的, 都是chmod. 有兩種方法來操作,

(1)符號類型改變權限

chmod u+s testbin-- 為testbin文件加上setuid標志.

chmod g+s testdir-- 為testdir目錄加上setgid標志

chmod o+t testdir-- 為testdir目錄加上sticky標志

(2) 數(shù)字類型改變檔案權限

采用八進制方式. 對一般文件通過三組八進制數(shù)字來置標志, 如 666, 777, 644等. 如果設置這些特殊標志, 則在這組數(shù)字之外外加一組八進制數(shù)字. 如 4666, 2777等. 這一組八進制數(shù)字三位的意義如下,

abc

a - setuid位, 如果該位為1, 則表示設置setuid 4---

b - setgid位, 如果該位為1, 則表示設置setgid 2---

c - sticky位, 如果該位為1, 則表示設置sticky 1---

設置完這些標志后, 可以用 ls -l 來查看. 如果有這些標志, 則會在原來的執(zhí)行標志位置上顯示. 如

rwsrw-r-- 表示有setuid標志

rwxrwsrw- 表示有setgid標志

rwxrw-rwt 表示有sticky標志

那么原來的執(zhí)行標志x到哪里去了呢? 系統(tǒng)是這樣規(guī)定的, 如果本來在該位上有x, 則這些特殊標志顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (S, S, T)

作者:天魂地煞

網(wǎng)站:http://www.mypad.tk

出處:http://www.cnblogs.com/javaee6/p/4026108.html

如果,您認為閱讀這篇博客讓您有些收獲,不妨收藏起來,給予評論下!

如果,您希望更容易地發(fā)現(xiàn)我的新博客,不妨關注下我!

如果,您對我的博客所講述的內容有興趣,請繼續(xù)關注我的后續(xù)博文!

本博客中未標明原文地址的文章歸作者天魂地煞,歡迎轉載,希望在文章頁面明顯位置給出原文連接!

分類:Linux,Linux-----基礎與系統(tǒng)管理

標簽:linux

好文要頂關注我收藏該文

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

?下一篇:Linux FHS

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

文章搜索

最新文章

1. spring boot基礎之servlet3.0和spring4.x零配置相關文章

2. jvm系列文章收集

3. java調用c/c++

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

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

6. 云計算設計模式系列文章

7. RSA算法原理

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

9. spring bean的生命周期

10. spring HttpInvoker相關學習資料

文章歸檔

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實現(xiàn)瀏覽器全屏(15286)

2. java中的SPI機制(15267)

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

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

5. 從一道面試題來認識java類加載時機與過程(7553)

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

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

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

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

10. IT技術思維導圖(3708)

11. linux特殊權限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 命令行中常用光標移動快捷鍵(1903)

17. html中的meta詳解(1884)

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

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

20. mysql行鎖和表鎖(1404)

我的微博

目錄導航

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容