您好,登錄后才能下訂單哦!
這篇文章主要講解了“Linux系統特殊權限詳解”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux系統特殊權限詳解”吧!
目錄
0x01 介紹
0x02 特殊權限詳解
0x01 介紹
Linux一共有12位權限,除過之前說的rwxrwxrwx的9位權限,還有3位的特殊權限
suid位:setuid,用S表示,如果用戶位對應的x位上有x時使用s表示,對應數字為4,與用戶相關的權限
sgid位:setgid,用S表示,如果用戶組對應的x位上有x時使用s表示,對應數字為2,與用戶組相關的權限
sticky位,粘滯位,用T表示,如果其他用戶組對應的x位上有x時使用t表示,對應數字為1,與其他用戶組相關的權限
粘滯位有一個特殊的目錄就是tmp目錄
0x02 特殊權限詳解
suid
suid是讓普通用戶可以以root或其他的用戶角色運行只有root或其他賬號才能運行的命令或程序,或程序命令對應本來沒有權限操作的文件等,suid為某一個命令設置特殊權限,使用者為所有人。
這里用一個例子來說明這個問題
先添加一個新的用戶,并為其設置密碼
我們再明確一下更改密碼的話shadow文件是否會更改
說明shadow文件確實被更改了,那shadow的權限又是怎樣的
會發現只有root用戶擁有寫權限,那是不是意味著其他用戶不能更改密碼
事實并不是這樣的,其他用戶也是可以修改密碼的,這就是因為這個文件的特殊權限的原因,可以發現它是擁有suid權限的,所以任何用戶執行這個命令都會擁有和這個命令所對應的權限,用這個例子來說就是任何用戶執行這個命令就擁有了root的權限
我們再用一個刪除操作來看一下
我們來看一下默認情況下的刪除操作
如果我們給刪除命令增加suid權限又會發生什么情況
可以發現添加了suid權限,使用低權限用戶就可以刪除root用戶才能操作的文件
到這里基本就可以理解清楚suid的用法了,但是還有幾點需要注意一下的
suid僅對二進制命令程序有效,不能作用在shell等腳本文件上,而且suid權限僅在命令執行過程中有效
我們可以搜索一下哪些文件時有s權限的
find /bin -type f -perm 4755 -exec ls -l {} \;
等后面在使用suid進行提權的時候我們還會再次提到這個東西
如果對這個find命令不太懂的可以移步《Linux文件查找命令詳解》
sgid
sgid是與用戶組相關的,sgid與suid不同的是,sgid既可以針對文件也可以針對目錄
對于文件來說,sgid僅對二進制命令程序有效,執行命令的用戶可以獲得該程序執行期間所屬組的權限,suid是擁有這個用戶的權限
對于目錄來說(繼承目錄所屬的組),Linux默認情況下用戶創建文件,默認用戶和組都是它自己,sgid可以讓用戶在此目錄下創建的文件和目錄,具有與此目錄相同的用戶組設置
這里就不再舉例子來說明了,跟suid所驗證的方式是一樣的
粘滯位
粘滯位就是你可以往里面放內容但是卻不能對這個目錄進行操作
感謝各位的閱讀,以上就是“Linux系統特殊權限詳解”的內容了,經過本文的學習后,相信大家對Linux系統特殊權限詳解這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。