我正在使用共享內存映射進行進程間通信。這個映射需要在會話之間可見,所以我試圖在全局命名空間中創建它。我知道正在運行的用戶需要SeCreateGlobalPrivilege才能使其工作。全局名稱空間CreateFileMapping和SeCreateGlobalPrivilege
我編輯了本地安全策略(我不在域中)爲我的用戶提供「創建全局對象」權限,但是當我運行應用程序時,此權限不在訪問令牌中。如果我以管理員身份運行,則確實獲得特權。
我錯過了什麼?爲什麼我不能獲得這個特權?
我正在使用共享內存映射進行進程間通信。這個映射需要在會話之間可見,所以我試圖在全局命名空間中創建它。我知道正在運行的用戶需要SeCreateGlobalPrivilege才能使其工作。全局名稱空間CreateFileMapping和SeCreateGlobalPrivilege
我編輯了本地安全策略(我不在域中)爲我的用戶提供「創建全局對象」權限,但是當我運行應用程序時,此權限不在訪問令牌中。如果我以管理員身份運行,則確實獲得特權。
我錯過了什麼?爲什麼我不能獲得這個特權?
嘗試使用OpenThreadToken()
和AdjustTokenPrivileges()
在調用CreateFileMapping()
之前啓用調用線程的特權。
如果你登錄爲adminitrator,UAC將除非你以管理員身份運行過濾特權。
如果您已經登錄作爲一個普通用戶,你會有幸所有的時間(如果你從本地安全策略授予它)
這是UAC是如何工作的。如果您不以管理員身份運行,該權限甚至不會出現在您的令牌中。 – Luke