加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows上删除C中的权限

发布时间:2020-12-13 20:16:10 所属栏目:Windows 来源:网络整理
导读:在 Windows上运行的C应用程序是否可能在运行时删除权限? 例如,如果用户以管理员身份启动我的应用程序,但没有理由以管理员身份运行我的应用程序,我可以以某种方式放弃管理员权限? 简而言之,我想在main()函数中编写代码,这个函数放弃了我不需要的权限(例如,
在 Windows上运行的C应用程序是否可能在运行时删除权限?

例如,如果用户以管理员身份启动我的应用程序,但没有理由以管理员身份运行我的应用程序,我可以以某种方式放弃管理员权限?

简而言之,我想在main()函数中编写代码,这个函数放弃了我不需要的权限(例如,在Windows目录下写入访问权限).

是的,您可以使用 AdjustTokenPrivileges从令牌中删除不需要的和危险的特权.您可以禁用,如果不是立即需要(特权可以稍后启用)或从您的令牌完全删除特权.

您也可以通过CreateRestrictedToken创建一个限制令牌,并重新启动运行该限制令牌的应用程序. CreateRestrictedToken可用于禁用权限,并从令牌中删除组(如Administrators组).

您可以使用AdjustTokenGroups从正在运行的进程的令牌中删除管理员组,但是我从未在已经运行的进程中尝试过.

请注意,对Windows目录的写访问权限不受特权覆盖.系统中的资源有ACL’s,它管辖谁可以访问.系统和管理员可以对Windows目录进行写入访问.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读