Permissions
ID繼承——哪些ID?
我正在學習 UNIX 文件權限/ID 繼承,並想澄清一些事情:
我有這個權限、使用者、組和文件列表:
-rwxr-xr-x userA A foo -rw-rwsr-x userB B bar
- userA 的 RealUID 是 100,userA 的 GroupID 是 240
- userB 的 RealUID 是 102,userB 的 GroupID 是 241
我需要知道如果 userB 執行會發生什麼
foo
:
- userB 的 RealUID 是否更改為 userA 的 RealUID?
- userB 的 EffectiveUID 是否更改為 userA 的 EffectiveUID?
既然userB正在執行userA的一個文件,那麼userB的RealUID是否保存到SavedUID中,然後執行後又恢復正常?
執行文件是否也會更改 userB 的 GroupID?
好吧,對於初學者來說,使用者沒有 RealUID。使用者有 UID。時期。(GID 的情況稍微複雜一些。)
程序具有真實的 UID 和有效的 UID(以及更多)。
其次,執行文件永遠不會改變程序的真實 UID 或真實 GID。
第三,執行
foo
不會改變任何程序的 ID,因為它的模式中沒有設置 setUID 或 setGID 位。
bar
當你不問任何問題時,你為什麼還要費心規定一個文件在其模式下設置了 setGID 位?請進行更多研究並編輯您的問題以使其更加連貫。