010-82825512,010-82825051
技术热线:010-82825062
公司总机:010-62656060
400专线:4007-06-05-04
973273684 / 1037738460 / 943876988 / 947876927
技术支持 (QQ):
3680085785 / 495042390
要完整记录与查看共享文件访问日志,核心是启用系统级审计策略 + 配置文件 / 共享的审计规则 + 查看对应日志,下面按Windows(SMB 共享)、**Linux(Samba 共享)** 分别给出可直接落地的配置与查看方法。
当然,对于一些企事业单位来说,部署专门的服务器共享文件管理软件可能是一个更加快速、高效的抉择。例如,大势至局域网共享文件管理系统(dashizhi.com),只需要在服务器上安装之后,就可以设置共享文件访问权限,可以只让读取共享文件而禁止复制共享文件、只让打开共享文件而禁止另存为本地磁盘、只让修改共享文件而禁止删除共享文件,并且可以详细记录局域网用户访问共享文件的权限。如下图所示:
图:大势至局域网共享文件管理系统
按 Win+R → 输入 gpedit.msc 打开组策略编辑器
进入:计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 对象访问 → 文件系统
双击配置文件系统审核 → 勾选成功、失败 → 确定
命令行执行:gpupdate /force 强制刷新策略
在域控制器打开组策略管理(GPMC)
新建 / 编辑链接到文件服务器 OU 的 GPO
路径同上,启用文件系统审核(成功 + 失败)
等待策略同步或执行 gpupdate /force
右键目标共享文件夹 → 属性 → 安全 → 高级 → 审核 → 继续
点击添加 → 选择主体 → 输入要审计的用户 / 组(如 Everyone、Domain Users)→ 确定
勾选需要审计的操作(按需选择):
读取数据、列出文件夹内容、读取属性
写入数据、创建文件、创建文件夹
删除、更改权限、取得所有权
勾选替换所有子对象的可审核项 → 确定保存
按 Win+R → 输入 eventvwr.msc 打开事件查看器
进入:Windows 日志 → 安全
筛选关键事件 ID(右侧 “筛选当前日志”):
4663:文件 / 文件夹被访问(读 / 写 / 删 / 改)
5145:网络共享对象被访问(含共享名、客户端 IP)
双击事件查看详情:账户名、客户端 IP、对象路径、访问类型
图形化:计算机管理 → 系统工具 → 共享文件夹 → 会话 / 打开的文件
命令行:
powershell
# 查看当前SMB会话 Get-SmbSession # 查看当前打开的文件 Get-SmbOpenFile
编辑 Samba 主配置:vi /etc/samba/smb.conf
在 [global] 段添加 / 修改:
ini
# 日志路径(%m=客户端IP/主机名,自动分文件) log file = /var/log/samba/log.%m # 日志级别(3=详细,5=调试) log level = 3 # 最大日志大小(MB) max log size = 50
重启 Samba:systemctl restart smb nmb
安装 Samba 审计模块(CentOS/RHEL):
bash
运行
yum install samba-vfs-modules -y
在 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
重启 Samba:systemctl restart smb
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
日志轮转:配置 logrotate 避免日志占满磁盘
集中日志:将日志发送到 ELK、Splunk 或 SIEM 系统,便于检索与告警
权限控制:仅管理员可访问审计日志,防止篡改
定期审查:定期检查异常访问(如大量删除、越权访问)
Windows 无 4663/5145 事件:检查审核策略是否启用、SACL 是否配置、是否执行 gpupdate
Linux Samba 无审计日志:检查 vfs objects = full_audit 是否正确、日志路径权限是否为 smbuser 可写