必须同时启用系统级审核策略并为目标ntfs文件夹配置含“失败”标记的sacl,缺一不可;否则安全日志不生成id 4663失败事件。需通过gpedit.msc或auditpol启用“审核文件系统”失败选项,再右键文件夹→属性→安全→高级→审核添加主体、勾选读取/写入/删除等失败操作,并启用“替换所有子对象”。
要让 windows 记录对 ntfs 文件夹的失败访问尝试(比如用户无权限打开、修改或删除时触发的日志),必须完成两个关键动作:启用系统级审核策略 + 为目标文件夹单独配置 sacl 审计规则。缺一不可,否则安全日志里不会出现对应事件(如 id 4663 的失败记录)。
启用“审核对象访问”的失败事件
这是全局开关,告诉系统“允许记录失败的对象访问行为”: - 按 Win + R 输入 gpedit.msc(仅专业版/企业版;家庭版需用命令行) - 导航至:计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 系统审核策略 → 对象访问 - 双击“审核文件系统”,勾选“失败”(也可同时勾选“成功”,便于对比排查) - 或使用命令行(管理员权限):auditpol /set /category:"Object Access" /failure:enable
- 执行 gpupdate /force 立即生效为文件夹添加含“失败”标记的 SACL 条目
策略只是许可,真正决定“谁、对什么、因何失败而记日志”的是 SACL: - 右键目标文件夹 → 属性 → 安全 → 高级 → 审核选项卡 → 添加 - 点击选择主体,输入具体用户、组(如 Domain Users)或 Everyone(慎用) - 在权限列表中,仅勾选你关心的失败动作,例如:- 读取数据/列出目录(对应打开、复制失败)
- 写入数据/添加文件(对应保存失败)
- 删除(对应删文件/文件夹失败)
确认 NTFS 与日志可用性
- 目标必须位于NTFS 分区(FAT32 不支持 SACL) - 确保Windows Event Log 服务正在运行(服务名:EventLog) - 安全日志不能满或被设为“不覆盖事件”,可在 eventvwr.msc → 安全日志 → 属性 中检查 - 查看日志时筛选事件 ID:4663,再在“任务类别”中选“文件系统”,并注意“关键字”字段含“失败”常见问题快速核对
- 日志为空?→ 检查是否漏掉 SACL 配置(仅开策略不生效) - 有成功没失败?→ SACL 条目里没勾“失败”,或用户实际拥有权限(未触发失败) - 子文件没记录?→ 忘记勾选“替换所有子对象”,SACL 不继承 - 提示“无法编辑审核”?→ 当前用户不是所有者,需先通过高级安全设置获取所有权不复杂但容易忽略细节。











