补充说明
testparm 是 Samba 套件自带的配置校验工具。它读取 smb.conf,检查语法错误和未知参数,然后打印出 Samba 实际理解的配置内容——包括那些没有写在文件里、由默认值补全的选项。
排查“改了配置却不生效”时非常有用:先跑 testparm 看是否有 Unknown parameter 或 WARNING,再确认打印出来的值是否与你预期一致。默认会先显示配置文件名和错误,然后询问是否继续打印,用 -s 可以跳过交互,适合脚本。
它只做静态解析,不检查共享目录是否存在、权限是否正确、用户是否能通过认证;这些仍需实际挂载测试。修改配置后推荐流程是:testparm -s → systemctl reload smbd(或 restart)→ 客户端验证。
语法
testparm [选项] [配置文件]
选项
-s, --suppress-prompt:不询问,直接输出配置摘要-v, --verbose:显示所有参数(含默认值)-d, --debuglevel 级别:设置调试级别--section-name 名称:只输出指定 section--parameter-name 名称:只输出指定参数的值-h, --help:显示帮助-V, --version:显示版本
实例
# 校验默认配置文件
testparm
# 非交互输出全部生效参数
testparm -s
# 查看某个共享的配置
testparm -s --section-name=share
# 只取 global 段中的 workgroup 值,便于脚本判断
testparm -s --section-name=global --parameter-name=workgroup
# 校验一份临时配置
testparm /etc/samba/test.conf