testparm忽略日志级别设置的原因及Samba配置工作流优化咨询
testparm忽略日志级别设置的原因及Samba配置工作流优化咨询
我平时配置Samba的固定流程是这样的:用一个名为/etc/samba/smb.conf.master的主配置文件来做所有配置调整,完成后执行下面的命令生成实际生效的配置文件:
testparm -s /etc/samba/smb.conf.master > /etc/samba/smb.conf
但最近我发现一个头疼的问题——不管我在smb.conf.master里设置log level = [0..10]中的哪个值,这个配置项都会被忽略,完全不会出现在生成的smb.conf里。更奇怪的是,日志文件不是完全空的,内容少得可怜,只有错误和警告信息,就像Samba默认用了log level = 1一样。
我甚至尝试过用testparm自带的-d调试级别参数来指定日志级别,比如执行:
testparm -s -d 3 /etc/samba/smb.conf.master > /etc/samba/smb.conf
但结果还是一样,生成的smb.conf里依然没有日志级别的配置,日志内容还是保持最低限度。
目前我只能用一个临时的解决办法:在生成smb.conf之后,手动编辑这个文件,加上我需要的log level = [0..10]配置。这么做之后,日志级别就能按预期生效,日志文件的内容也正常了,但每次都要改两个文件,实在有点麻烦。
后来我查了相关资料,看到有个关于「无法修改Samba日志级别」的问题提到:不能用testparm来测试或生成包含日志级别的配置,因为testparm会强制把日志级别设为2。
我想请教大家几个问题:
- 这是testparm的预期行为吗?
- 如果是的话,为什么要做这样的设计?
- 有没有更高效的工作流,让我不用每次都手动修改两个配置文件?
我的环境信息
- 系统:Ubuntu 22.04 LTS Server
$ 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
备注:内容来源于stack exchange,提问作者mpboden
相关产品推荐
相关产品推荐

