Effective user and Real user

uid和euid大部分時候是一樣的,就是你login所用的uid,但在一個情況下會不一樣:
Unix下的可執行文件可以設定sticky位,比如用chmod u+s some_exec,此時這個some_exec是一個“SetUID”程序,無論你的uid是什麼,當你運行這個程序時,你的euid會變成這個some_exec的屬主的uid,一般把它叫suid,此時你的這個進程的權限就變成了這個屬主的權限,但uid依然保持不變。這個進程可以用seteuid(2)在uid和suid之間切換。
類似的,gid也有rgid、sgid和egid,工作方式與uid相同。

最常見的“SetUID”程序就是su和sudo,你可以用它們臨時切換權限。

Effective user ID is euid
Real user ID is uid

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