Windows 10 Pro下如何限制默认用户组执行特定.exe文件且不影响管理员组的读取与执行权限
Windows 10 Pro下如何限制默认用户组执行特定.exe文件且不影响管理员组的读取与执行权限
我来帮你理清这个问题的核心逻辑,你遇到的坑其实是Windows权限的优先级和继承规则在搞怪,咱们一步步来解决:
首先说你之前操作的问题:
- 给Default Users组加拒绝读&执行:确实会导致管理员也被限制,因为Windows权限规则里「拒绝权限优先级远高于允许权限」,哪怕管理员同时属于Administrators组(有允许权限),只要身份里有一个组被拒绝,就会触发限制。
- 移除Default Users组的允许权限却没效果:大概率是因为标准用户还属于其他内置组(比如Authenticated Users),而这些组从父目录继承了读执行权限;或者你不小心把Administrators组的权限也给改没了——毕竟默认权限是继承来的,乱删很容易误操作。
正确的权限配置步骤(单台电脑)
不用新建组,只要把权限收窄到只有管理员和系统能访问就行:
- 右键目标.exe文件 → 属性 → 切换到「安全」选项卡 → 点击「高级」按钮。
- 点击「禁用继承」,选择「将继承的权限转换为此对象的显式权限」——这一步是切断父目录的权限干扰,避免后续配置被继承规则打乱。
- 现在删除列表里所有不必要的用户/组(比如Default Users、Authenticated Users、Users组等),只保留:
- Administrators组:给它分配「完全控制」或者至少「读取和执行」+「读取」权限(一定要选「允许」,别碰拒绝)。
- SYSTEM:系统进程大概率需要访问这个文件,保留它的权限(一般给「完全控制」或者「读取和执行」就行)。
- 确认所有设置后保存,这样只有管理员和系统能执行这个.exe,标准用户因为没有对应的允许权限,自然无法运行。
多台电脑批量部署方法
手动改每台电脑太麻烦,推荐两种高效方式:
方法1:用icacls命令行脚本
把下面的命令保存成.bat文件,通过远程执行工具(比如PsExec)或者组策略推送,就能批量配置:
# 替换成你的目标.exe路径 icacls "C:\路径\到\你的文件.exe" /inheritance:r /grant Administrators:F /grant SYSTEM:F
参数解释:
/inheritance:r:移除文件的继承权限/grant Administrators:F:给管理员组分配完全控制权限(如果只需要读执行,把F改成RX)/grant SYSTEM:F:给系统账户分配完全控制权限
方法2:本地/域组策略
如果是域环境(或者多台电脑都在同一域下),用组策略最方便:
- 打开本地组策略编辑器(运行
gpedit.msc),导航到「计算机配置」→「Windows设置」→「安全设置」→「文件系统」。 - 右键「文件系统」→「添加文件」,选择目标.exe文件。
- 在权限设置窗口里,删除所有无关组,添加Administrators组并给予「读取和执行」的允许权限,确保没有任何拒绝规则。
- 域环境下可以把这个策略部署到对应的OU;本地的话可以导出组策略配置,在其他电脑导入即可。
备注:内容来源于stack exchange,提问作者Kevin




