gpt4 book ai didi

c++ - 使用 token 和特权的程序

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:13 25 4
gpt4 key购买 nike

我想创建一个具有有限权限的 C++ 程序。我在互联网上进行了一些研究,发现我必须创建一个 token ,然后使用 AdjustTokenPrivileges() 方法来更改其权限。

但是,我不太明白这是怎么做到的。有人可以给我提供一个如何创建 token 并禁用其特权的示例吗?谢谢:)

最佳答案

您是否查看了 Executing Privileged Operations Using C++ 中的示例? ?似乎您只需要在使用 GetTokenInformation() 函数后弄清楚哪些 token 是哪些,然后禁用其中一些。

[编辑]解释得更详细一些。

  • 第一次调用 GetTokenInformation() 获取 token 特权信息对象的长度(以字节为单位)。
  • 然后您实际上在堆上构建了一个该大小的缓冲区。
  • 第二次调用检索 token 信息对象并将其存储在您的缓冲区中。
  • 然后您将缓冲区重新转换为 TOKEN_PRIVILEGES*,这样您就可以正确解释它。
  • 然后循环遍历该对象的 Privileges 成员并将不同的属性设置为允许。

这是 specifics about the TOKEN_PRIVILEDGES structure .对于权限数组的每个成员,您可以使用 LookupPrivilegeName 查找权限的名称。 .

这是 Priviledge names and descriptions 的列表.

在知道它是什么特权之后(即通过检查名称),您可以将 Priviledges[i] 成员的属性设置为其中之一

  • SE_PRIVILEGE_ENABLED
  • SE_PRIVILEGE_ENABLED_BY_DEFAULT
  • SE_PRIVILEGE_REMOVED
  • SE_PRIVILEGE_USED_FOR_ACCESS

在你的情况下,我认为它主要是第三个。

关于c++ - 使用 token 和特权的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com