Temporarily Elevate Privilege
Concept
我們雖然有設 Effective UID,但我們不想要在整個 process 執行流程都借權限給程序執行者,因此我們會想要在 process 執行時在 real uid 和 effective uid 之間切換
Why change effective UID in the middle of program execution?
- Least Privilege Model:一個 program 應該只使用最小的所需權限來完成要做的事
- 降低 security vulnerability 出現的窗口
User/Group ID
What IDs can a process have?
Real/Effective user/group ID
Supplementary group IDs
一個 process 除了 main group 也可以屬於其他 group
Saved set-user/group ID
setuid, setgid, setreuid, setregid, seteuid, setegid
D-SP-Ch8cb-setuid_setgid_setreuid_setregid_seteuid_seteguid
UID exec Inheritance
D-SP-Ch8cc-UID_exec_Inheritance