访问被拒绝怎么查
访问被拒绝的排错,按固定顺序走能把范围快速收窄:先确认访问者的真实身份,再看两条权限链与有效权限,然后查显式拒绝与父级继承,最后才考虑取得所有权这类兜底手段。每一步都留下证据,避免改完说不清是哪一步起的作用。
基本信息
| 适用平台 | Windows 文件服务与域环境 |
|---|---|
| 第一步 | whoami /user 与 whoami /groups 确认账号、SID 与所属组 |
| 第二步 | icacls 看 NTFS 权限,Get-SmbShareAccess 看共享权限 |
| 第三步 | 搜显式拒绝条目与父级目录的继承来源 |
| 第四步 | 区分本地路径与网络路径,并清理会话与票据 |
| 兜底手段 | takeown 取得所有权后重新授权,注意先记录原值 |
排查步骤
- 1. 用 whoami /user 与 whoami /groups 确认访问者的真实身份与全部组
- 2. 两条权限链一起看:共享权限与 NTFS 权限,最终按更严格的一方生效
- 3. 搜索拒绝条目与父级目录的继承设置,确认拒绝来自哪一层
- 4. 换成本机路径测试同一账号,区分是 NTFS 问题还是共享与网络问题
- 5. 清掉旧会话与票据后重试,排除凭证缓存带来的干扰
- 6. 兜底再考虑取得所有权并重新授权,改前记录原值以便还原
常用示例
常用示例
REM 确认身份与所属组
whoami /user
whoami /groups
REM 查看 NTFS 权限与共享权限
icacls D:\Share\folder
powershell -c "Get-SmbShareAccess -Name Share01"
REM 客户端侧清掉旧会话后重试
net use * /delete /y
REM 域环境清理 Kerberos 票据
klist purge
REM 兜底改动前先导出当前权限,便于还原
icacls D:\Share\folder /save D:\acl\backup.txt故障定位对照
| 现象 | 可能原因 | 验证方式 |
|---|---|---|
| 本机可访问,网络路径被拒 | 共享权限或网络层凭证问题 | 对比同一账号访问本地路径的结果 |
| 所有账号都被拒 | 父级继承的显式拒绝 | 逐层检查父目录的 ACL |
| 单个账号被拒 | 该账号所在组的拒绝条目 | 结合 whoami /groups 与 icacls 对照 |
| 提示找不到网络路径 | 名称解析或共享服务异常 | 用 ping 与 net view 交叉验证 |
| 改完权限仍被拒 | 会话令牌未刷新 | 注销重登或清除会话后重试 |
共享权限与 NTFS 权限按更严格的一方生效:共享给了完全控制但 NTFS 只给读取,最终结果仍然是读取,所以两边都要看,只改一边往往不生效。
不要一遇到拒绝就加 Everyone 完全控制,那会把权限问题变成安全问题,也掩盖了真正的成因。应定位到具体的拒绝条目,改最小范围,并记录变更前后的值。