Set-UID機制

Set-UID

Set-UID是Unix系統中一個重要的安全機制。當一個Set-UID程序運行的時候,它被假設爲具有擁有者的權限。例如,如果程序的擁有者是root,那麼任何人運行這個程序時都會獲得程序擁有者的權限。
在這裏插入圖片描述
在這裏插入圖片描述
從上面可以看出,將passwd拷貝後,權限發生變化,在原來目錄下suid位被設置,復件沒有了修改密碼的權限。

對於su sudo命令也同樣不再具有root權限。

在這裏插入圖片描述
可以看出/bin/bash有某種內在的保護機制可以阻止Set-UID機制的濫用。

system(const char * cmd)系統調用函數被內嵌到一個程序中執行一個命令,system()調用/bin/sh來執行shell程序,然後shell程序去執行cmd命令。但是在一個Set-UID程序中system()函數調用shell是非常危險的,這是因爲shell程序的行爲可以被環境變量影響,比如PATH;而這些環境變量可以在用戶的控制當中。通過控制這些變量,可以控制Set-UID程序的行爲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章