SetTokenInformation和特权

时间:2013-02-26 12:07:14

标签: c++ windows winapi

我想为我的进程令牌添加权限(我的进程使用管理员权限运行)。 我无法使用AdjustTokenPrivileges,因为进程令牌不包含我缺少的权限。因此,我尝试通过SetTokenInformation将权限添加到令牌。我很确定我以正确的方式构建了TOKEN_PRIVILEGES结构,当我调用SetTokenInformation时,我得到一个INVALID_PARAMETER_ERROR。所以,我认为在现有令牌上使用此功能存在问题。另外,我在函数MSDN页面中找到了这个注释:“只有在创建访问令牌时才能设置令牌类型信息。”

那么,我还能做什么?

注意:我这样做是因为我对CreateProcessAsUser的调用失败,因为我没有SE_ASSIGNPRIMARYTOKEN_NAME特权。

感谢帮助者!

1 个答案:

答案 0 :(得分:1)

您在令牌中can change a privilege,但无法添加。 Keith Brown在他outstanding book的Windows安全性方面有一个很好的部分。在其中他说,一旦LSA完成构建令牌"你以后不能注入额外的权限......"。我希望我能找到一本涵盖当前Windows安全性的书。叹息。