要完整记录与查看共享文件访问日志,核心是启用系统级审计策略 + 配置文件 / 共享的审计规则 + 查看对应日志,下面按Windows(SMB 共享)、**Linux(Samba 共享)** 分别给出可直接落地的配置与查看方法。
 


一、Windows 服务器(SMB 共享)

1. 启用文件访问审计(必做)

方法 1:本地组策略(单机 / 工作组)
 

  1. Win+R → 输入 gpedit.msc 打开组策略编辑器
  2. 进入:计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 对象访问 → 文件系统
  3. 双击配置文件系统审核 → 勾选成功失败 → 确定
  4. 命令行执行:gpupdate /force 强制刷新策略


方法 2:域环境(GPO)
 

  1. 在域控制器打开组策略管理(GPMC)
  2. 新建 / 编辑链接到文件服务器 OU 的 GPO
  3. 路径同上,启用文件系统审核(成功 + 失败)
  4. 等待策略同步或执行 gpupdate /force


2. 为共享文件夹配置 SACL(审计规则)
 

  1. 右键目标共享文件夹 → 属性 → 安全 → 高级 → 审核 → 继续
  2. 点击添加选择主体 → 输入要审计的用户 / 组(如 EveryoneDomain Users)→ 确定
  3. 勾选需要审计的操作(按需选择):
    • 读取数据、列出文件夹内容、读取属性
    • 写入数据、创建文件、创建文件夹
    • 删除、更改权限、取得所有权

  1. 勾选替换所有子对象的可审核项 → 确定保存


3. 查看访问日志(事件查看器)
 

  1. Win+R → 输入 eventvwr.msc 打开事件查看器
  2. 进入:Windows 日志 → 安全
  3. 筛选关键事件 ID(右侧 “筛选当前日志”):
    • 4663:文件 / 文件夹被访问(读 / 写 / 删 / 改)
    • 5145:网络共享对象被访问(含共享名、客户端 IP)

  1. 双击事件查看详情:账户名、客户端 IP、对象路径、访问类型


4. 实时查看当前连接与打开文件
 

  • 图形化:计算机管理 → 系统工具 → 共享文件夹 → 会话 / 打开的文件
  • 命令行:powershell





    # 查看当前SMB会话 Get-SmbSession # 查看当前打开的文件 Get-SmbOpenFile
     


二、Linux 服务器(Samba 共享)

1. 基础日志配置(连接 / 访问记录)
 

  1. 编辑 Samba 主配置:vi /etc/samba/smb.conf
  2. [global] 段添加 / 修改:ini





    # 日志路径(%m=客户端IP/主机名,自动分文件) log file = /var/log/samba/log.%m # 日志级别(3=详细,5=调试) log level = 3 # 最大日志大小(MB) max log size = 50
     
  3. 重启 Samba:systemctl restart smb nmb


2. 启用 full_audit 插件(记录文件操作:增删改查)
 

  1. 安装 Samba 审计模块(CentOS/RHEL):bash

    运行




    yum install samba-vfs-modules -y
     
  2. smb.conf[global] 或具体共享段添加:ini





    # 启用审计插件 vfs objects = full_audit # 审计日志路径 full_audit:log = /var/log/samba-audit.log # 记录成功/失败操作 full_audit:success = connect open read write rename unlink mkdir rmdir full_audit:failure = connect open read write rename unlink mkdir rmdir # 日志前缀(含用户、IP、共享名) full_audit:prefix = %u|%I|%S
     
  3. 重启 Samba:systemctl restart smb


3. 查看日志

基础连接日志

bash

运行




# 查看所有客户端日志 ls -l /var/log/samba/ # 实时查看指定客户端IP(如192.168.1.100)的日志 tail -f /var/log/samba/log.192.168.1.100 # 查看SMB服务总日志 tail -f /var/log/samba/log.smbd


详细文件操作审计日志

bash

运行




# 实时查看审计日志 tail -f /var/log/samba-audit.log # 日志格式示例:用户名|客户端IP|共享名|操作|文件路径 alice|192.168.1.100|share|open|/share/doc.txt bob|192.168.1.101|share|unlink|/share/old.doc


查看当前连接

bash

运行




# 查看当前Samba会话 smbstatus # 过滤445端口连接(SMB默认端口) netstat -tulnp | grep smbd

 


三、日志管理与最佳实践
 

  1. 日志轮转:配置 logrotate 避免日志占满磁盘
  2. 集中日志:将日志发送到 ELK、Splunk 或 SIEM 系统,便于检索与告警
  3. 权限控制:仅管理员可访问审计日志,防止篡改
  4. 定期审查:定期检查异常访问(如大量删除、越权访问)


四、常见问题
 

  • Windows 无 4663/5145 事件:检查审核策略是否启用、SACL 是否配置、是否执行 gpupdate
  • Linux Samba 无审计日志:检查 vfs objects = full_audit 是否正确、日志路径权限是否为 smbuser 可写


需要我给你一份可直接复制的Windows PowerShell 筛选脚本Linux Samba 完整配置模板,你直接粘贴就能用吗?
 

如何禁止保存服务器共享文件、文件服务器共享文件禁止另存为本地磁盘

要实现 “只允许用户打开 / 查看共享文件,但禁止保存到服务器、禁止另存为到本地磁盘、禁止复制下载”,不能只靠单一权限,必须组合 NTFS / 文件系统权限 + 组策略 / 配置 + 文档权限 / 专业软件 三层控制。下面分 Windows(最常用)、Linux Samba、企业级防泄密 三套完整方案。
 


一、Windows 服务器:禁止保存 & 禁止另存为(SMB 共享)

1. 基础:只读权限(禁止修改 / 保存到服务器)

先把共享设为纯只读,用户无法在服务器上修改、新建、删除、覆盖保存。

(1)共享权限(网络访问)
 

  1. 右键文件夹 → 属性 → 共享 → 高级共享 → 权限
  2. 加入目标用户 / 组(如 Domain Users
  3. 只勾选:读取 → 取消 “完全控制 / 更改”


(2)NTFS 安全权限(关键,防绕过)
 

  1. 安全 → 编辑
  2. 删除无关用户(Everyone/Users)
  3. 目标用户只勾选 3 项
    • 读取和执行
    • 列出文件夹内容
    • 读取

  1. 取消所有:写入、修改、删除、完全控制
  2. 高级 → 禁用继承 → 转换为显式权限(防止子文件继承高权限)


效果
 

  • ✅ 可打开、查看
  • ✅ 无法在服务器上保存修改、新建、删除
  • ❌ 但用户仍可:复制文件→本地、打开后另存为到本地


2. 进阶:组策略(禁止复制 / 拖拽 / 另存为到本地)

Windows 有专门策略彻底禁止从网络共享另存 / 复制到本地

单机 / 工作组
 

  1. Win+Rgpedit.msc
  2. 路径:
    计算机配置 → 管理模板 → Windows 组件 → 文件资源管理器
  3. 启用以下两项:
    • 防止从网络共享文件夹中复制文件
      (禁止拖拽 / 复制共享文件到本地)
    • 禁止将文件另存为到本地驱动器
      (彻底禁止 “另存为” 到 C/D 盘)

  1. 命令行刷新:cmd





    gpupdate /force
     


域环境(批量控所有电脑)
 

  1. 域控打开 组策略管理 GPMC
  2. 新建 GPO→链接到用户 / 文件服务器 OU
  3. 配置同上策略 → 等待同步或强制刷新


效果
 

  • ✅ 无法复制 / 拖拽共享文件到本地
  • ✅ 无法另存为到本地磁盘
  • ✅ 无法 “另存为→U 盘 / 移动硬盘”
  • ❌ 弱点:Office/PDF 内复制文字、截屏仍可绕过


3. 进阶:Office/PDF 禁止内部复制 & 另存为(免费)

(1)微软 Office:IRM 权限限制(Word/Excel/PPT)
 

  1. 打开文档 → 文件 → 信息 → 保护文档 → 限制访问
  2. 勾选:
    • 禁止复制
    • 禁止打印
    • 禁止另存为
    • 禁止更改

  1. 保存。


效果
 

  • 打开需认证
  • 复制出去是乱码 / 无法粘贴
  • 无法另存、无法打印


(2)PDF:用 Adobe 权限密码
 

  1. PDF → 属性 → 安全性
  2. 设置权限密码
  3. 禁止:复制内容、修改、打印、另存为


二、Linux Samba:禁止保存 & 只读不下载

1. 基础:Samba 只读(禁止修改 / 保存服务器)

/etc/samba/smb.conf

ini





[share] path = /data/share valid users = alice bob read only = yes # 只读,禁止写入/保存 writable = no # 禁止任何写入 browseable = yes guest ok = no delete readonly = no # 禁止删除只读文件


重启:

bash

运行




systemctl restart smb nmb


2. 进阶:禁止客户端复制 / 下载(Samba 审计 + 限制)

Samba 本身无法彻底阻止另存为(客户端行为),但可:

(1)禁止创建 / 修改 / 删除(纯只读)

ini





read only = yes writable = no create mask = 0444 # 新建文件只读 directory mask = 0555


(2)禁止特殊文件 / 拦截客户端行为

ini





# 禁止客户端产生临时文件(防止变相下载) veto files = /Thumbs.db/.DS_Store/.*.tmp/


Linux 结论
 

  • Samba 只能做到服务器端只读
  • 禁止另存为到本地,必须配合:
    • Windows 客户端组策略
    • 专业文档管理系统


三、企业级真正防泄密:禁止另存 / 复制 / 截屏(无绕过)

方案 A:专业共享防泄密软件(推荐)

国内常用:大势至、域智盾、IP-guard。

如“大势至局域网共享文件管理系统”,只需要部署在局域网一台电脑,就可以实现只让读取共享文件而禁止复制共享文件、只让打开共享文件而禁止另存为本地磁盘、只让修改共享文件而禁止删除共享文件,并且可以详细记录共享文件访问日志。如下图:



功能(一键设置)

  • ✅ 仅在线打开共享文件
  • 禁止另存为到本地 / U 盘
  • 禁止复制文件 / 复制内容
  • 禁止拖拽
  • 禁止打印 / 截屏 / 录屏
  • ✅ 打开时强制水印
  • ✅ 记录:谁、何时、打开 / 试图另存 / 试图复制


部署
 

  1. 服务器装管理端
  2. 客户端装轻量代理(域可批量推送)
  3. 对共享文件夹→用户:勾选禁止另存为、禁止复制


方案 B:文档管理系统(SharePoint/Nextcloud/ 企业云盘)

直接用在线预览模式
 

  • 网页预览,不提供真实文件路径
  • 后台设置:禁止下载、禁止另存、禁止打印、水印


四、各方案效果对比(最关键)

表格

 

方案 禁止服务器保存 / 修改 禁止另存为本地 禁止复制文件 禁止复制文字 禁止截屏 防绕过
NTFS 只读
组策略
Office IRM
专业防泄密


 


五、你最可能遇到的 “绕过” 与对策
 

  1. 用户打开后→另存为→本地
    → 必须开组策略:禁止将文件另存为到本地驱动器
  2. 用户复制文件→粘贴到本地
    → 组策略:防止从网络共享复制文件
  3. 用户复制文档内文字
    → Office IRM / PDF 权限 / 专业软件
  4. 用户截屏 / 拍照
    → 专业软件防截屏 + 屏幕水印


六、推荐实施路线(按安全等级)

1. 低成本(免费)

NTFS 只读 + 组策略(禁止复制 + 禁止另存为)
适合:内部普通文档、信任度高环境

2. 中安全(免费)

上述 + Office IRM + PDF 权限
适合:Office 为主、少量机密

3. 高安全(企业级)

专业防泄密软件 / 文档管理系统
适合:图纸、合同、财务、研发数据、完全禁止泄密
 


七、一键可复制配置

Windows 组策略(必开)

plaintext





计算机配置 → 管理模板 → Windows 组件 → 文件资源管理器 ✅ 防止从网络共享文件夹中复制文件 ✅ 禁止将文件另存为到本地驱动器 gpupdate /force


Samba 只读配置

ini





[secure_share] path = /data/secure valid users = @finance read only = yes writable = no delete readonly = no veto files = /Thumbs.db/.DS_Store/

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐