日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux特殊权限:SUID、SGID、SBIT

發布時間:2025/3/18 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux特殊权限:SUID、SGID、SBIT 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SUID:

? ? ?只對二進制程序有效

? ? ?執行者對于程序需要有x權限

? ? ?在程序運行過程中,執行者擁有程序擁有者的權限

? ? ?例如:

?????普通用戶執行passwd命令。

? ? ?首先查看passwd命令的絕對路徑:

? ? ?

? ? ?查看passwd命令權限:

? ? ?

?????passwd的擁有者是root,且擁有者權限里面本應是x的那一列顯示的是s,這說明這個命令具有SUID權限。

? ? ?同時發現普通用戶沒有w權限,所以按理來說普通用戶是不能執行這個命令的,因為這個命令修改了密碼肯定是要寫文件的。

? ? ?進一步分析,實際上passwd這個命令會操作/etc/shadow這個文件,因為密碼都是放在這里,查看密碼文件權限:

? ? ?

? ? ?發現權限是000,(注意:root用戶對所有文件都是有rw權限的,對所有目錄都是有rwx權限的),這意味著普通用戶確實不能獨讀或寫這個文件。

? ? ?不過因為passwd命令具有SUID權限,所以普通用戶執行這個命令時,當系統生成對應的進程后,這個進程就擁有了/usr/bin/passwd文件擁有者root的權限。

? ? ?

? ? ?上面的操作在要輸入密碼時按CTRL+Z,回車。

? ? ?查看進程樹:

? ? ?

? ? ?可以發現確實passwd的權限不是pstar而是root!


SGID:

? ? ?對于文件:

? ? ? ? ? SGID對于二進制程序有用

? ? ? ? ? 程序執行著要有x權限

? ? ? ? ? 執行者在執行過程中會獲得改程序用戶組的權限(相當于臨時加入了程序的用戶組)

? ? ? ? ? 例如:

? ? ? ? ? 普通用戶使用locate命令。(直接看圖)

? ? ? ? ?? ? ?

? ? ? ? ? 發現用戶組權限中應該出現x的位置顯示的s,表示這個命令具有SGID權限。而普通用戶只有x權限而沒有rw權限。

? ? ? ? ? locate這個命令,實際上會去訪問/var/lib/mlocate/mlocate.db這個文件。

? ? ? ? ?? ? ?

? ? ? ? ? 這個文件對于普通用戶沒有任何權限。所以理論上普通用戶執行locate命令是不行的。

??????????不過因為locate命令有SGID權限,所以運行locate生成進程時,這個進程會得到locate命令的用戶組權限,相當于pstar這個用戶被臨時加入了用戶組slocate。

? ? ? ? ? 于是就對mlocate.db這個文件有了r權限,可以訪問了!

? ? ?對于目錄:

? ? ? ? ? 用戶對此目錄有rx權限可以進入目錄

? ? ? ? ? 用戶進入此目錄后,有效用戶組會變成該目錄的用戶組

? ? ? ? ? 若用戶在此目錄有w權限,則用戶創建的文件用戶組與該目錄用戶組相同

? ? ? ? ? 例如:

? ? ? ? ? 一個團隊想在linux某個目錄下協同工作來做一個項目,那么每個團隊成員都得對這個目錄下的所有文件具有rwx權限。

? ? ? ? ? 于是我們首先新建一個用戶組,再新建幾個賬號,每個賬號的用戶組都加入剛才新建的那個用戶組。

? ? ? ? ? 再新建工作目錄,權限設為770,把目錄的用戶組加上上一步新建的用戶組。

? ? ? ? ? 到這里為止,我們思考下會有什么問題?

? ? ? ? ? 現在賬號A新建一個文件,新建文件的擁有者和用戶組都會是A!重要的是其他用戶都無法訪問這個文件!

? ? ? ? ? 所以我們需要給這個目錄加入SGID權限,之后任意一個用戶創建的文件,文件用戶組都會是這個目錄的用戶組。萬事OK!


SBIT:

? ? ?只針對目錄有效

? ? ?當用戶對目錄擁有wx權限時,用戶在該目錄創建的文件或目錄,只有自己與root才可以刪除。



設置和查看SUID/SGID/SBIT權限的方法:

? ? ?SUID是4 ? SGID是2 ? ?SBIT是1

? ? ?chmod 4755 filename

? ? ?第一個7代表的就是這三個特殊命令,后面的755是普通權限。上面的命令把filename這個文件加入了SUID權限。

? ? ?查看特殊權限的方法就是普通的ls命令:

??????????SUID會在所屬用戶權限本應是x的地方顯示s

??????????SGID會在所屬用戶組權限本應是x的地方顯示s

??????????SBIT在其它用戶權限本應是x的地方顯示t

? ? ?如果希望查找系統中所有具有特殊權限的文件,則:

? ? ?find / -perm +7000


轉載于:https://blog.51cto.com/dazern/1903269

總結

以上是生活随笔為你收集整理的Linux特殊权限:SUID、SGID、SBIT的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。