为什么“testparm”忽略日志级别设置?

为什么“testparm”忽略日志级别设置?

我配置 Samba 的典型步骤是使用名为/etc/samba/smb.conf.master。配置后,我使用来实现更改testparm -s /etc/samba/smb.conf.master > /etc/samba/smb.conf。但我发现,log level = [0..10]/etc/samba/smb.conf.master被忽略并且不会输出到/etc/samba/smb.conf。这并不意味着日志文件完全是空的。相反,它们非常简陋,只有错误和警告,就像设置是默认的一样:log level = 1

-d我甚至尝试使用调试级别选项设置日志级别,testparm如下所示。但这没有效果。日志级别设置仍然没有传递给/etc/samba/smb.conf

testparm -s -d 3 /etc/samba/smb.conf.master > /etc/samba/smb.conf

尽管如此,我目前的解决方案是直接编辑/etc/samba/smb.conf事后,使用 添加我的日志级别设置log level = [0..10]。随后,日志记录级别按预期设置并正确反映在日志文件中。

经过一些研究,这个 Stack Exchange 问题的答案是,无法修改 Samba 中的日志级别,表示您不能使用 testparm 来测试这一点,因为它会强制将日志级别设置为 2

这是预期的行为吗?如果是,为什么?有没有更好的工作流程,这样我就不必编辑两个文件了?

Ubuntu 22.04 LTS 服务器

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy

Samba 版本:

$ smbd -V
Version 4.15.13-Ubuntu

相关内容