使用smbstatus
该报告当前的连接。有没有办法保存或拥有smbstatus
for报告的信息全部一段时间内发生的 samba 连接?
具体来说,列用户识别码,共享路径,姓名,时间由 smbstatus 报道 我希望至少拥有其中的每一项。
理想情况下,对于每个 samba 连接,是否有办法知道它来自的主机名或 IP 地址?
更新:
所以我想我所需要的就在smb.conf
下面[global]
- 日志级别 = 3 passdb:5 auth:5
然后我可以找到相关信息,/var/log/samba/log.smbd
例如
- 获得用户=[我的用户名]
- 工作站=[我的电脑名称]
- 允许的连接来自IP地址(IP地址)
passdb:#
任何有关和 的帮助auth:#
将不胜感激。
答案1
当建立和断开与共享的连接时,将运行 Samba 的preexec
和选项中配置的命令。postexec
您可以使用它来创建这些事件的日志条目。
global
这种简单的日志记录可以通过将其添加到smb.conf 文件的部分来实现:
preexec = /usr/bin/logger -t smbd 'connecting to %S on %L by %u at %m os %a using %R ip %I'
postexec = /usr/bin/logger -t smbd 'disconnect of %S on %L by %u at %m'
输出示例:
Oct 31 13:14:55 dev smbd: connecting to stuff on dev by roel at 192.168.30.1 os Samba using SMB3_11 ip 192.168.30.1
Oct 31 13:15:03 dev smbd: disconnect of stuff on dev by roel at 192.168.30.1
请注意,这些日志很可能会出现在系统日志或消息中,具体取决于系统的配置方式。