使用Full_Audit

时间:2019-03-20 02:52:36

标签: logging samba

我有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

但没有任何反应,没有文件日志log.audit位于/var/log/samba/

我也尝试在/etc/rsyslog.d/50-default.conf上进行如下配置:

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

但相同,log.audit上没有文件日志/var/log/samba/

但是,Full_Audit日志可在syslog上找到:

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

1 个答案:

答案 0 :(得分:1)

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

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

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

第二:以上配置之后,日志消息被发送到我定义的日志文件和syslog两者中。这是因为需要在 /etc/rsyslog.conf 中禁用syslog的local5,以使syslog不会像以前那样默认它们。这是通过在我的 / var / log / messages 的配置行中添加local5.none来完成的,因此其结果类似于:*.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages

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