2013-02-26 83 views
3

我想爲我的進程標記添加一個特權(我的進程正在使用管理員權限運行)。 我無法使用AdjustTokenPrivileges,因爲流程標記不包含我缺少的權限。所以,我試圖通過SetTokenInformation將權限添加到令牌中。我很確定我以正確的方式構建了TOKEN_PRIVILEGES結構,並在調用SetTokenInformation時收到INVALID_PARAMETER_ERROR。所以,我認爲在現有令牌上使用此功能存在問題。另外,我在MSDN頁面中找到了這個註釋:「只有在創建訪問令牌時才能設置令牌類型信息。」SetTokenInformation和權限

那麼,我還能做什麼?

注:我這樣做是因爲我的CreateProcessAsUser調用失敗,因爲我沒有SE_ASSIGNPRIMARYTOKEN_NAME privilage。

謝謝你的幫手!

+0

[Here](http://forum.sysinternals.com/tip-run-process-in-system-account-scexe_topic16714_page4.html)是獲得'SE_ASSIGNPRIMARYTOKEN_NAME'的有趣頁面。 – 2013-02-26 12:34:08

+1

發佈您的代碼。 – 2013-02-26 15:13:11

+0

哪個Windows版本(UAC參與?確定您擁有管理員令牌?)?你有沒有試用https://support.microsoft.com/en-us/kb/315276? – 2015-11-20 12:34:37

回答

1

can change a privilege在令牌中但您不能添加一個。基思布朗在他的outstanding book關於windows安全性的主題有一個很好的部分。其中他說,一旦LSA完成構建令牌「你不能注入額外的特權......」。我希望我能找到一本像他那樣涵蓋當前Windows安全性的書。嘆。