You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

系统进程内模拟身份线程可写入Program Files日志的原因咨询

问题原因分析

这个差异是由Windows系统的线程身份模拟逻辑和进程令牌权限机制的区别导致的,核心逻辑如下:

  • 首先明确基础前提:进程A运行在系统会话,主令牌为SYSTEM权限,本身对Program Files目录拥有完全控制权限。
  • 进程B写入被拒的原因:你使用标准用户令牌创建进程B时,进程B的主令牌会被完全替换为该标准用户的令牌,所有资源访问的权限检查完全基于这个标准用户令牌。该标准用户本身没有Program Files目录的写入权限,因此写入操作被拒绝,符合预期。
  • 线程t1可以正常写入的原因:当你在进程A内对线程t1执行用户身份模拟时,默认的模拟级别为SecurityImpersonation,Windows在对本地资源做访问校验时,会同时检查线程的模拟令牌和所属进程的主令牌的权限,只要其中任意一个拥有对应访问权限,操作就会被放行。也就是说哪怕线程t1模拟的标准用户没有写入权限,进程A本身的SYSTEM主令牌有权限,所以写入操作会被允许。

补充说明

如果你希望线程t1模拟身份后的权限表现和进程B完全一致,只需要在创建模拟令牌时添加TOKEN_DENY_ONLY属性过滤掉进程主令牌的高权限SID,或者使用更高限制的模拟级别,即可让权限检查完全基于模拟的标准用户令牌执行。


内容的提问来源于stack exchange,提问作者Easwar Aiyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:15:03