必须将关键系统配置文件写入权限严格限制为仅system账户可执行,其他所有账户(含administrators)仅保留读取权限;操作包括禁用继承、清除非system写入项、删除deny规则、显式授予system完全控制权,并通过管理员和system身份分别验证。

当你需要保护关键系统配置文件(如 C:\Windows\System32\drivers\etc\hosts、C:\Windows\WinSxS 下的组件清单、或自定义部署的启动脚本)不被普通管理员误改、勒索软件篡改或第三方工具覆盖时,必须将写入权限严格限制为仅 SYSTEM 账户可执行——其他所有账户(包括 Administrators 组、当前登录的 Administrator 用户)只能读取,不能修改、删除或重命名。
先确认目标文件当前权限状态
右键目标文件 → 选择【属性】 → 切换到【安全】选项卡 → 点击右下角【高级】。观察“所有者”字段显示的是谁(通常是 SYSTEM 或 TrustedInstaller),并查看下方权限条目列表中是否存在你自己的账户或 Administrators 组;若存在且勾选了“写入”或“完全控制”,说明当前权限已不满足要求,必须重置。
清除所有非SYSTEM的写入权限
在【高级安全设置】窗口中,点击【禁用继承】→ 选择【从该对象中删除所有已继承的权限】→ 点击【应用】。这一步会清空所有来自父目录的权限规则,避免残留的 Allow 写入项干扰后续操作。
在权限条目列表中,逐行检查:选中任何包含“Administrators”“Users”“Everyone”或你个人用户名的条目 → 点击【编辑】→ 在弹出窗口中,取消勾选【写入】、【修改】、【删除】、【更改权限】、【取得所有权】五项——只保留【读取和执行】、【列出文件夹内容】、【读取】三项允许权限(若为单个文件,对应取消“写入”“修改”“删除”即可)。
【务必删除所有含 Deny 的条目】——Deny 规则优先级高于 Allow,哪怕你刚设好“只读”,只要存在一条“Administrators 拒绝写入”,系统仍可能因策略冲突报错;直接选中后点【删除】,不要留任何 Deny 行。
显式授予SYSTEM账户完整写入权
点击【添加】→ 【选择主体】→ 【高级】→ 【立即查找】→ 在搜索结果中双击【NT AUTHORITY\SYSTEM】(注意不是 “SYSTEM” 单词,必须是完整路径 NT AUTHORITY\SYSTEM)→ 点击【确定】。
回到权限条目设置窗口,在“类型”下拉菜单中选【允许】,在“权限”区域勾选全部六项:完全控制、修改、读取和执行、列出文件夹内容、读取、写入——缺一不可,否则 Windows 服务在运行时可能因权限不足无法更新该文件。
点击【确定】→ 【应用】→ 【确定】。此时再打开该文件属性→安全→高级,应仅显示两条有效条目:一条是 NT AUTHORITY\SYSTEM(允许完全控制),另一条是你或其他组(仅允许读取类权限)。
验证权限是否生效
以当前管理员账户尝试用记事本打开该文件并保存修改:会提示“权限不足”或“拒绝访问”;用 PowerShell 执行 Set-Content -Path "C:\path\to\file" -Value "test" 同样失败。
以 SYSTEM 身份运行命令验证(需提前启用内置调试器):按 Win+R 输入 cmd → 输入 sc create testsvc binPath= "cmd /c echo test > C:\temp\system_test.txt" start= auto → sc start testsvc → 等待数秒后检查 C:\temp\system_test.txt 是否成功生成——若存在且内容正确,证明 SYSTEM 写入权限已精确生效。











