在Windows上删除C中的权限

前端之家收集整理的这篇文章主要介绍了在Windows上删除C中的权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Windows上运行的C应用程序是否可能在运行时删除权限?

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

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

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

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

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

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

猜你在找的Windows相关文章