共享文件夹权限(共享 + NTFS) · 修改记录
这是 windows/smb-share-permission.md 的每次改动内容,按时间从新到旧。其他文章一起提交的部分不会出现在这里。
#1
2026-10-18
+69
−0
docs: 新增 23 篇网络/ Linux / Windows / 服务器文章
be5956e
new file mode 100644
@@ -0,0 +1,69 @@
+---
+tags: [共享, 权限, NTFS, SMB]
+order: 100
+---
+
+# 共享文件夹权限(共享 + NTFS)
+
+## 场景
+
+新建一个部门共享盘,只有本部门能读写,其他人只读或者看不到。
+
+## 前置条件
+
+- 服务器上建好目录
+- 域里已经有对应的安全组(推荐按组授权,不按人)
+- 知道最终权限取**共享权限和 NTFS 权限的交集**
+
+## 配置
+
+```powershell
+# 目录
+New-Item -ItemType Directory -Path D:\share\finance -Force
+
+# 共享(共享权限给「所有人」完全控制,实际靠 NTFS 收口)
+New-SmbShare -Name "finance" -Path D:\share\finance -FullAccess "Everyone"
+# 或者更稳妥:共享权限只给 Domain Admins
+Grant-SmbShareAccess -Name "finance" -AccountName "CORP\Domain Admins" -AccessRight Full -Force
+
+# NTFS:部门组读写,管理员完全控制,其他不给
+icacls D:\share\finance /inheritance:r
+icacls D:\share\finance /grant "CORP\Domain Admins:(OI)(CI)F"
+icacls D:\share\finance /grant "CORP\GRP-Finance:(OI)(CI)M"
+icacls D:\share\finance /remove "CORP\Domain Users"
+```
+
+## 验证
+
+```powershell
+Get-SmbShare -Name "finance"
+Get-SmbShareAccess -Name "finance"
+icacls D:\share\finance
+```
+
+用普通账号实际访问一次:
+
+```powershell
+net use Z: \\fs01\finance /user:CORP\testuser
+```
+
+## 回滚
+
+```powershell
+Remove-SmbShare -Name "finance" -Force
+```
+
+NTFS 权限用 `icacls` 恢复,或者从父目录重新继承:
+
+```powershell
+icacls D:\share\finance /inheritance:e
+```
+
+## 坑
+
+- **共享权限和 NTFS 取交集**,两边都放行才通,常见错误是共享给了但 NTFS 没给。
+- `Everyone` 包含匿名,能用 NYSD 就用,别图省事。
+- 权限按组授,组里加人就行,别一个个加用户。
+- 用户登录后组变更要重新登录才生效,或者 `klist purge`。
+- 打开「基于访问的枚举」后,没权限的文件夹直接不可见,比只读更干净。
+- 迁移目录时 `robocopy /COPYALL` 才能带上 ACL,普通复制会丢权限。