服务器共享文件设置权限、共享文件防止删除复制打印?

要实现服务器共享文件防删除、防复制、防打印 ,核心是权限分层控制 + 文档权限管理 + 客户端策略三层组合,Windows 与 Linux 操作路径不同,下面分系统给出完整可落地方案。


一、Windows 服务器(SMB 共享):基础权限 + 高级防护

1. 核心权限逻辑(必懂)

  • 共享权限:控制网络访问,仅 3 档(读取 / 更改 / 完全控制)
  • NTFS 权限 :控制文件本身,本地 / 网络均生效,优先级更高,两者取最严格交集
  • 最小权限原则 :只给读取 + 执行,不给写入 / 修改 / 删除

2. 防删除 + 只读权限配置(基础必做)

步骤 1:设置共享权限
  1. 右键文件夹 → 属性共享高级共享 → 勾选共享此文件夹
  2. 点击权限 → 删除默认Everyone,添加指定用户 / 组(如ShareUser
  3. 仅勾选允许 - 读取,取消其他权限 → 确定
步骤 2:设置 NTFS 权限(防删除关键)
  1. 回到属性安全编辑 → 添加目标用户 / 组
  2. 权限仅勾选:
    • 允许:读取和执行、列出文件夹内容、读取
    • 取消所有:写入、修改、完全控制
  3. 点击高级 → 选中用户 → 编辑 → 勾选拒绝 - 删除、删除子文件夹及文件(拒绝权限优先)
  4. 应用到:此文件夹、子文件夹和文件 → 确定保存
PowerShell 批量设置(适合多文件夹)

powershell

复制代码
# 获取当前ACL
$acl = Get-Acl "D:\SharedFolder"
# 创建只读规则(禁止删除)
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
    "DOMAIN\UserName",
    "ReadAndExecute, ListDirectory, Read",
    "ContainerInherit, ObjectInherit",
    "None",
    "Allow"
)
# 添加拒绝删除规则
$denyRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
    "DOMAIN\UserName",
    "Delete, DeleteSubdirectoriesAndFiles",
    "ContainerInherit, ObjectInherit",
    "None",
    "Deny"
)
$acl.SetAccessRule($rule)
$acl.SetAccessRule($denyRule)
# 应用权限
Set-Acl "D:\SharedFolder" $acl

3. 防复制 + 防打印 + 防另存(进阶)

方案 A:文档权限管理(DRM,最有效)
  • Office 文件 :用 Microsoft Purview 信息保护(AIP) ,设置禁止复制、禁止打印、禁止另存、水印、过期,本地打开仍受控

  • PDF 文件 :用 Adobe Acrobat Pro DC福昕高级 PDF,设置权限密码,禁用复制 / 打印 / 编辑

  • 企业方案 :大势至局域网共享文件管理系统(如下图)、亿赛通、明朝万达,可实现仅在线预览、禁止拖拽、禁止剪贴板、禁止打印 ,需客户端安装。

  • 图:大势至局域网共享文件管理系统

方案 B:组策略(域环境,批量管控)
  1. 打开组策略管理(GPMC) → 新建 / 编辑策略 → 用户配置 → 管理模板 → 系统
  2. 禁用:阻止访问注册表编辑工具、关闭自动播放、禁用 USB 存储设备
  3. Office 相关
    • 禁用复制 / 剪切 / 粘贴(Office 管理模板)
    • 禁用打印另存为本地
  4. 终端控制:禁用打印机、屏幕截图工具、远程桌面文件传输
方案 C:只读共享 + 禁止下载(仅在线预览)
  • SharePoint/OneDrive 企业版NAS 系统 ,设置仅在线查看,禁止下载 / 复制 / 打印
  • 本地无文件缓存,从源头防复制

二、Linux 服务器(Samba/NFS 共享)

1. Samba 共享(兼容 Windows 访问)

步骤 1:目录基础权限(防删除)

bash

运行

复制代码
# 创建共享目录
mkdir -p /data/shared
# 设置所有者(管理员)与权限:只读+粘滞位(仅所有者可删)
chown root:sharegroup /data/shared
chmod 1750 /data/shared  # 1=粘滞位,7=所有者全,5=组读执行,0=其他人无
步骤 2:Samba 配置(/etc/samba/smb.conf)

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/
步骤 3:重启服务 + 设置用户

bash

运行

复制代码
# 创建系统组与用户
groupadd sharegroup
useradd -G sharegroup user1
# Samba 用户设置密码
smbpasswd -a user1
# 重启服务
systemctl restart smb nmb

2. NFS 共享(Linux 客户端)

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+ 粘滞位,进一步防删除

3. Linux 防复制 / 打印(进阶)

  • 防复制 :用 Nextcloud/Seafile 企业版,设置仅在线预览,禁止下载 / 复制
  • 防打印 :客户端用 CUPS 策略 禁用打印机,或用 AppArmor/SELinux 限制打印进程
  • 防截屏 :用 xsecurelock 等工具,限制屏幕捕获

三、关键区别与效果对比

防护项 Windows 基础权限 Linux 基础权限 DRM / 企业文档系统
防删除 ✅ 有效(NTFS + 拒绝) ✅ 有效(粘滞位 + ro) ✅ 有效
防复制文件 ❌ 仅防本地复制,可拖拽 / 截屏 ❌ 同 Windows ✅ 禁止剪贴板 / 拖拽 / 下载
防打印 ❌ 需组策略 / DRM ❌ 需客户端策略 ✅ 精准禁用
防另存 ❌ 需 DRM ❌ 需 DRM ✅ 有效
防截屏 ❌ 无法阻止 ❌ 无法阻止 ✅ 部分方案可限制

四、最佳实践(必做)

  1. 权限最小化 :按用户 / 组分配,不用Everyone,拒绝权限优先
  2. 分层防护:基础权限(防删除)+ DRM(防复制 / 打印)+ 客户端策略(防 USB / 截屏)
  3. 审计监控:开启文件访问日志,监控删除 / 复制 / 打印行为
  4. 备份:定期备份,防止误删 / 勒索病毒
  5. 禁止本地缓存:在线预览优先,减少本地文件留存

五、常见误区

  • 仅设共享权限为只读 ,不设 NTFS:可通过本地访问绕过,必须双重配置
  • 给用户修改权限 但想防删除:需在高级 NTFS 中显式拒绝删除
  • 以为权限可防截屏:无法阻止,需 DRM + 客户端管控
相关推荐
Codefengfeng1 小时前
Kali安装工具通用教程
运维·服务器
姜行运1 小时前
[Linux]基础指令3
linux·运维·服务器
xiaoliuliu123451 小时前
银河麒麟V10安装 zlib-1.2.11-20.ky10.x86_64教程(含依赖解决)
linux·运维·服务器
三万棵雪松1 小时前
【Linux网络编程试验方案】
linux·服务器·网络·嵌入式linux
袁袁袁袁满2 小时前
Linux/Window如何查网络连接/端口/套接字信息?
linux·运维·服务器·网络安全·网络连接
invicinble2 小时前
对于linux形成整体性的认识
linux·运维·arm开发
Maggie_ssss_supp2 小时前
Linux-ansible自动化运维
运维·自动化·ansible
盐焗西兰花2 小时前
鸿蒙学习实战之路-STG系列(3/11)-用户授权管理详解
服务器·学习·harmonyos
xiaoliuliu123452 小时前
Kylin V10 安装 zlib-devel-1.2.11-20.ky10.x86_64详细步骤
linux·运维·服务器