我將創建一個新執行緒,它將模擬另一個 uid,執行任務并完成,而我的主執行緒將始終保持原始 uid。
模仿可以很容易地通過使用來實作
os.setuid(self.impersonation_uid)
但是我如何確保它不會從主執行緒更改我的原始 uid?
謝謝
uj5u.com熱心網友回復:
執行緒不能有單獨的用戶 ID;只有行程可以。內核用于行程的資料結構有一個用戶 ID 欄位,但執行緒沒有 - 所以,這是一個架構限制。
行程由 定義task_struct,它有一個cred欄位,指向一個cred結構,包括 uid、gid 等。
執行緒由 定義thread_info,它沒有任何指向用戶憑據的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/442808.html
