我跟着关于如何启用 Samba 审计的描述(2009 年 8 月 10 日的条目)并希望将所有额外启用的日志记录放在一个特殊的日志文件 ( /var/log/samba/log.audit
) 中。我将上述行local7.* /var/log/samba/log.audit
放在现有文件的末尾/etc/rsyslog.conf
。它似乎有点不合适,但在重新启动所有程序后,所提到的文件已创建,大概是由 syslog 守护程序创建的,因此我认为这是可行的。
但它的大小仍然是 0 字节。创建该文件后,没有任何内容记录在那里。
我花了一些时间,但后来我发现所有日志记录都已存入默认的系统日志文件(/var/log/syslog
)。
我猜测配置行/etc/rsyslog.conf
是正确的,但是不知何故,它应该被处理的方式不起作用/etc/samba/smb.conf
。
我简短地重复一下上述博客所建议的内容:
添加线条
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite
full_audit:failure = none
full_audit:facility = local7
full_audit:priority = NOTICE
到现有的smb.conf
并添加行
local7.* /var/log/samba/log.audit
至syslog.conf
(我/etc/rsyslog.conf
为此付出了我现有的努力)。
有人能告诉我如何修复此问题,以便将日志记录到预期的文件中吗/var/log/samba/log.audit
?
答案1
我也遇到了同样的问题,直到我将输出日志文件位置改为/var/log
而不是/var/log/samba
。我不知道为什么,但似乎rsyslog
我的系统无法将工具写入 之外的文件/var/log
。
希望这会有所帮助,如果有人知道如何配置ryslog
以允许其他位置,那就太好了。
答案2
该/var/log/samba/log.audit
文件必须具有syslog
作为拥有者的用户,以及adm
作为拥有者的组。
如果不是这样,请运行:
sudo chown /var/log/samba/log.audit syslog:adm