【问题标题】:Monitoring Samba Activity with Full_Audit使用 Full_Audit 监控 Samba 活动
【发布时间】:2019-03-20 02:52:35
【问题描述】:

我有 samba 服务器。我已经像这样配置了 smb.conf:

[global]
# Another configuration
#
#

# Audit Activity Settings
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite pread
full_audit:failure = none
full_audit:facility = local7
full_audit:priority = NOTICE

[shared]
comment = Shared Content 
path = /data/shared
read only = no
browsable = yes
vfs objects = full_audit

我想将 samba 日志发送到特定文件,例如 /var/log/samba/log.audit。我在 rsyslog.conf 中这样配置:

if $syslogfacility-text == 'local7' and $programname == 'smbd' then /var/log/samba/log.audit

但什么也没发生,/var/log/samba/ 处没有文件日志 log.audit。

我也曾尝试在/etc/rsyslog.d/50-default.conf 上进行这样的配置:

local7.* /var/log/samba/log.audit

但同样,log.audit/var/log/samba/ 没有文件日志。

但是,系统日志中提供了 Full_Audit 日志:

Mar 20 02:49:26 media-arsip smbd_audit: content|192.168.84.69|ubspok18|shared|mkdir|ok|sharedcontent/ok/tes

如何将 syslog samba full_audit 日志发送到 /var/log/samba/log.audit

【问题讨论】:

    标签: logging samba


    【解决方案1】:

    也许你已经解决了这个问题,但是如果是这样的话,为了后代:

    当我遇到这两个问题(在 CentOS 7 samba 服务器上)时,对我来说有效的解决方案是双重的。

    首先:当 vfs full_audit 配置了 local7 上下文时,日志条目被发送到已经为该上下文配置的 boot.log。在 smb.conf full_audit:facility = local5/etc/rsyslog.conf local5.* /var/log/smb_audit.log 中定义新的上下文将审计日志消息发送到所选的日志文件(在我的例子中,/var/log/smb_audit.log)。

    其次:在上述配置之后,日志消息被发送到我定义的日志文件和系统日志。这是因为需要在 /etc/rsyslog.conf 中为 syslog 禁用 local5,以使 syslog 不会像默认行为一样破坏它们。这是通过将local5.none 添加到我的/var/log/messages 配置行来完成的,所以它最终会变成:*.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages

    smbcontrol all reload-config && systemctl restart systemd-journald && systemctl restart rsyslog 以使这些更新生效。除非您还选择增加日志限制/速率窗口,否则不需要重新启动 Journald,尽管对于流量相当大的服务器来说,这可能是可取的。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2012-02-07
      相关资源
      最近更新 更多