010-82825512,010-82825051
技术热线:010-82825062
公司总机:010-62656060
400专线:4007-06-05-04
973273684 / 1037738460 / 943876988 / 947876927
技术支持 (QQ):
3680085785 / 495042390
要实现服务器共享文件防删除、防复制、防打印,核心是权限分层控制 + 文档权限管理 + 客户端策略三层组合,Windows 与 Linux 操作路径不同,下面分系统给出完整可落地方案。
共享权限:控制网络访问,仅 3 档(读取 / 更改 / 完全控制)
NTFS 权限:控制文件本身,本地 / 网络均生效,优先级更高,两者取最严格交集
最小权限原则:只给读取 + 执行,不给写入 / 修改 / 删除
右键文件夹 → 属性 → 共享 → 高级共享 → 勾选共享此文件夹
点击权限 → 删除默认Everyone,添加指定用户 / 组(如ShareUser)
仅勾选允许 - 读取,取消其他权限 → 确定
回到属性 → 安全 → 编辑 → 添加目标用户 / 组
权限仅勾选:
允许:读取和执行、列出文件夹内容、读取
取消所有:写入、修改、完全控制
点击高级 → 选中用户 → 编辑 → 勾选拒绝 - 删除、删除子文件夹及文件(拒绝权限优先)
应用到:此文件夹、子文件夹和文件 → 确定保存
powershell
# 获取当前ACL $acl = Get-Acl "D:SharedFolder" # 创建只读规则(禁止删除) $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( "DOMAINUserName", "ReadAndExecute, ListDirectory, Read", "ContainerInherit, ObjectInherit", "None", "Allow" ) # 添加拒绝删除规则 $denyRule = New-Object System.Security.AccessControl.FileSystemAccessRule( "DOMAINUserName", "Delete, DeleteSubdirectoriesAndFiles", "ContainerInherit, ObjectInherit", "None", "Deny" ) $acl.SetAccessRule($rule) $acl.SetAccessRule($denyRule) # 应用权限 Set-Acl "D:SharedFolder" $acl
Office 文件:用 Microsoft Purview 信息保护(AIP),设置禁止复制、禁止打印、禁止另存、水印、过期,本地打开仍受控
PDF 文件:用 Adobe Acrobat Pro DC 或 福昕高级 PDF,设置权限密码,禁用复制 / 打印 / 编辑
企业方案:大势至局域网共享文件管理系统(如下图)、亿赛通、明朝万达,可实现仅在线预览、禁止拖拽、禁止剪贴板、禁止打印,需客户端安装。
图:大势至局域网共享文件管理系统
打开组策略管理(GPMC) → 新建 / 编辑策略 → 用户配置 → 管理模板 → 系统
禁用:阻止访问注册表编辑工具、关闭自动播放、禁用 USB 存储设备
Office 相关:
禁用复制 / 剪切 / 粘贴(Office 管理模板)
禁用打印、另存为本地
终端控制:禁用打印机、屏幕截图工具、远程桌面文件传输
用 SharePoint/OneDrive 企业版 或 NAS 系统,设置仅在线查看,禁止下载 / 复制 / 打印
本地无文件缓存,从源头防复制
bash
运行
# 创建共享目录 mkdir -p /data/shared # 设置所有者(管理员)与权限:只读+粘滞位(仅所有者可删) chown root:sharegroup /data/shared chmod 1750 /data/shared # 1=粘滞位,7=所有者全,5=组读执行,0=其他人无
ini
[SharedFolder] path = /data/shared valid users = @sharegroup # 仅指定组可访问 read only = yes # 只读,防修改/删除 browseable = yes create mask = 0550 # 新建文件只读 directory mask = 0550 # 新建目录只读 # 禁止删除(配合粘滞位) delete veto files = yes veto files = /*.tmp/
bash
运行
# 创建系统组与用户 groupadd sharegroup useradd -G sharegroup user1 # Samba 用户设置密码 smbpasswd -a user1 # 重启服务 systemctl restart smb nmb
bash
运行
# /etc/exports /data/shared 192.168.1.0/24(ro,sync,no_root_squash,no_subtree_check) # 重启NFS systemctl restart nfs-server
ro:只读,防删除 / 修改
配合目录chmod 1755+ 粘滞位,进一步防删除
防复制:用 Nextcloud/Seafile 企业版,设置仅在线预览,禁止下载 / 复制
防打印:客户端用 CUPS 策略 禁用打印机,或用 AppArmor/SELinux 限制打印进程
防截屏:用 xsecurelock 等工具,限制屏幕捕获
| 防护项 | Windows 基础权限 | Linux 基础权限 | DRM / 企业文档系统 |
|---|---|---|---|
| 防删除 | ✅ 有效(NTFS + 拒绝) | ✅ 有效(粘滞位 + ro) | ✅ 有效 |
| 防复制文件 | ❌ 仅防本地复制,可拖拽 / 截屏 | ❌ 同 Windows | ✅ 禁止剪贴板 / 拖拽 / 下载 |
| 防打印 | ❌ 需组策略 / DRM | ❌ 需客户端策略 | ✅ 精准禁用 |
| 防另存 | ❌ 需 DRM | ❌ 需 DRM | ✅ 有效 |
| 防截屏 | ❌ 无法阻止 | ❌ 无法阻止 | ✅ 部分方案可限制 |
权限最小化:按用户 / 组分配,不用Everyone,拒绝权限优先
分层防护:基础权限(防删除)+ DRM(防复制 / 打印)+ 客户端策略(防 USB / 截屏)
审计监控:开启文件访问日志,监控删除 / 复制 / 打印行为
备份:定期备份,防止误删 / 勒索病毒
禁止本地缓存:在线预览优先,减少本地文件留存
仅设共享权限为只读,不设 NTFS:可通过本地访问绕过,必须双重配置
给用户修改权限但想防删除:需在高级 NTFS 中显式拒绝删除
以为权限可防截屏:无法阻止,需 DRM + 客户端管控