TESTPARM(1)
π testparm β your smb.conf vibe check π
okay bestie, so this is the man page for testparm, a User Command, section 1 of the manual. grab a strawberry drink, we're doing config validation β¨
πΈ NAME πΈ
testparm β check an smb.conf configuration file for internal correctness π
π SYNOPSIS π
testparm [-s|--suppress-prompt] [-v|--verbose] [-?|--help] [--usage]
[-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] {config filename}
[hostname hostIP]
like, that's the whole shape of it. no cap π«Ά
π¦ DESCRIPTION π¦
This tool is part of the samba(7) suite. yes, the whole squad.
testparm is a very simple test program whose whole job is checking an smbd(8) configuration file for internal correctness. If this program reports no problems, you can use the configuration file with confidence that smbd will successfully load the configuration file. it's giving trustworthy bestie who reads your essay before you submit it π
but listen β this is NOT a guarantee that the services specified in the configuration file will be available or will operate as expected. it checks the file, not the universe. π
If the optional host name and host IP address are specified on the command line, this test program will run through the service entries reporting whether the specified host has access to each service. very much a let me check if you're on the list moment.
If testparm finds an error in the smb.conf file it returns an exit code of 1 to the calling program, else it returns an exit code of 0. This allows shell scripts to test the output from testparm. exit codes are the original mood ring, fr fr π
β¨ OPTIONS β¨
-s|--suppress-promptβ Without this option,testparmwill prompt for a carriage return after printing the service names and before dumping the service definitions. basically it's the "okay I'm ready, hit enter" pause, and this flag says no pause, we go straight in π-v|--verboseβ If this option is specified,testparmwill also output all options that were not used insmb.conf(5)and are thus set to their defaults. so it shows you the stuff you didn't write, which is lowkey iconic for debugging.--parameter-nameparametername β Dumps the named parameter. If no section-name is set the view is limited by default to the global section. It is also possible to dump a parametrical option. Therefore the option has to be separated by a colon from the parametername. π--section-namesectionname β Dumps the named section. just the one. one section. main character energy, no ensemble cast.--show-all-parametersβ Show the parameters, type, possible values. the full spreadsheet reveal π-l|--skip-logic-checksβ Skip the global checks. (yes, skipping checks. bold. some would say unhinged. you do you, bestie πΈ)-?|--helpβ Print a summary of command line options. the classic helppp button.--usageβ Display brief usage message. short and sweet, the TL;DR version.-d|--debuglevel=level β level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.
The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running β it generates a small amount of information about operations carried out.
Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic. like, genuinely HUGE. your terminal will be screaming π
Note that specifying this parameter here will override thelog levelparameter in the/etc/samba/smb.conffile. command line stays winning.
--debug-stdoutβ This will redirect debug output toSTDOUT. By default all clients are logging toSTDERR. sending the drama to a different pipe π«- *
--configfile=<configuration file>* β The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such asclient smb encrypt. See/etc/samba/smb.conffor more information. The default configuration file name is determined at compile time. (compile time decided it. not us. we just live here.) - *
--option=<name>=<value>* β Set thesmb.conf(5)option "<name>" to value "<value>" from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole--option=name=valueinto quotes. don't forget the quotes, bestie, or the shell will eat your words π -V|--versionβ Prints the program version number. identity check β¨- configfilename β This is the name of the configuration file to check. If this parameter is not present then the default
smb.conf(5)file will be checked. no file? it checks the default one. it's got you π«Ά - hostname β If this parameter and the following are specified, then
testparmwill examine thehosts allowandhosts denyparameters in thesmb.conf(5)file to determine if the hostname with this IP address would be allowed access to thesmbdserver. If this parameter is supplied, the hostIP parameter must also be supplied. they're a package deal, no splitting them up π - hostIP β This is the IP address of the host specified in the previous parameter. This address must be supplied if the hostname parameter is supplied. yeah. what I said. they come as a duo. π―
π FILES π
smb.conf(5)β This is usually the name of the configuration file used bysmbd(8).
π DIAGNOSTICS π
The program will issue a message saying whether the configuration file loaded OK or not. This message may be preceded by errors and warnings if the file did not load. If the file was loaded OK, the program then dumps all known service details to stdout. so it either says "slay" or it yells at you first and then says something. π
For certain use cases, SMB protocol requires use of cryptographic algorithms which are known to be weak and already broken. DES and ARCFOUR (RC4) ciphers and the SHA1 and MD5 hash algorithms are considered weak but they are required for backward compatibility. The testparm utility shows whether the Samba tools will fall back to these weak crypto algorithms if it is not possible to use strong cryptography by default. In FIPS mode weak crypto cannot be enabled. π¨ weak crypto is the red flag ex you keep texting back, except here it's for backwards compatibility. in FIPS mode, that door stays shut. periodt.
β VERSION β
This man page is part of version 4.24.7-Ubuntu-4.24.7+dfsg-1ubuntu1 of the Samba suite.
π§ SEE ALSO π§
go read those too, iykyk π
π AUTHOR π
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. legends, honestly. absolute icons. π₯
and that's the whole page, bestie!! π this one's from Samba 4.24.7-Ubuntu-4.24.7+dfsg-1ubuntu1, dated 09/13/2026 β mwah, go validate your config, you got this πβ¨π¦
π¦ where this page comes from
- ubuntu stonking: samba-common-bin 2:4.24.7+dfsg-1ubuntu1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms