chmod 4777? 文件特殊權限 SUID SGID StickyBit


故事引入

今天碰到了一條指令,
chmod 4777 test

怎么在777前還有一位,顛覆了我的認知啊,這時候必須翻鳥哥神書了,找到一個鏈接《7.4.3 文件特殊權限:SUID/SGID/Sticky Bit》,啃了一會終於明白了,整理如下:

除了傳統的讀r、寫w、執行x以外,還有Linux的文件特殊權限,他們分別是Set UID、Set GID、Sticky Bit三種,也就是多出來的那一位,功能介紹如下:

Set UID,SUID

權值:4
符號:x --> s
特點:僅對可執行文件有效。
功能:可執行文件執行時,擁有文件所有者的權限。
案例:/usr/bin/passwd 權限為4755,普通用戶可執行passwd命令時,對應的普通用戶,隨機秒變高富帥,獲得了root權限,可以修改普通用戶平常根本想都不敢想、無法修改的root擁有的/etc/shadow系統文件(如果/usr/bin/passwd 權限為755,則普通用戶執行passwd的時候,會出現無權限修改root own的/etc/shadow文件的問題)

Set GID,SGID

權值:2
符號:x --> s
特點:文件、目錄都可施法。
功能:可執行文件、目錄執行時,相同用戶組的 擁有文件所有者權限。
案例:SGID多用在特定的多人團隊的項目開發上,在系統中用得較少

Sticky Bit,SBit

權值:1
符號:x --> t
特點:僅對目錄有效。
功能:當目錄SBit=1,權限變為rwx rwx rwt時,在此文件夾下刪除、重命名、移動的操作只允許是對應創建者用戶或root(如果SBit=0,則用戶間創建的文件可以互相刪除,互相傷害)
案例:/tmp 權限為1777,該目錄下不同用戶間不可互刪文件,只能刪自己的(如果/test 權限為777,則test目錄下不同用戶間可互刪文件)

【Linux文件特殊權限“隱藏關卡”】

看到這里,大家應該明白了SUID SGID StickyBit均含有類似“設置后就有了創建者相應權限”的功能(可能不嚴謹,大家明白意思就好),那么當創建者也沒有執行權限(x位為0,例如rw-rw-rw-)時,那么就會出現暗藏關卡——大寫SST,即rwSrwSrwT,代表空權限。就像鳥哥書里說的那樣“擁有者都無法執行了,哪里來的權限給其他人使用呢?當然就是空的”
 
2333333


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM