Linux Commands Examples

A great documentation place for Linux commands


check an smb.conf configuration file for internal correctness


testparm [-s] [-h] [-v] [-t <encoding>] {config filename} [hostname hostIP]

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


echo "* Testing smb.conf..."
if testparm -s smb.conf > /dev/null; then
echo "* Config file passed."
echo "* Restarting samba..."


This tool is part of the samba(7) suite.

testparm is a very simple test program to check 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.

Note that this is NOT a guarantee that the services specified in the configuration file will be available or will operate as expected.

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.

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.



Without this option, testparm will prompt for a carriage return after printing the service names and before dumping the service definitions.


Print a summary of command line options.


Prints the program version number.


If this option is specified, testparm will also output all options that were not used in smb.conf(5) and are thus set to their defaults.

-t encoding

Output data in specified encoding.

--parameter-name parametername

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-name sectionname

Dumps the named section.


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.


If this parameter and the following are specified, then testparm will examine the hosts allow and hosts deny parameters in the smb.conf(5) file to determine if the hostname with this IP address would be allowed access to the smbd server. If this parameter is supplied, the hostIP parameter must also be supplied.


This is the IP address of the host specified in the previous parameter. This address must be supplied if the hostname parameter is supplied.


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.



This is usually the name of the configuration file used by smbd(8).


This man page is correct for version 3 of the Samba suite.

see also

smb.conf, smbd


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.

The original Samba man pages were written by Karl Auer. The man page sources were converted to YODL format (another excellent piece of Open Source software, available at and updated for the Samba 2.0 release by Jeremy Allison. The conversion to DocBook for Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.

How can this site be more helpful to YOU ?

give  feedback