Test your Samba server for configuration errors

Posted on in Categories Linux, Shell scripting, Tips, Troubleshooting, UNIX last updated September 28, 2006

You can easily test your Samba server for configuration errors. It check an smb.conf 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.

Open a shell prompt. And type the following command:
# testparmOR# testparm /etc/samba/smb.conf

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 screen.

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.

For example:
testparm
if [ $? -eq 0 ]; then
echo "Syntax OK"
else
echo "Syntax Error"
fi

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

4 comment

    1. No. The $? variable stores the value returned by last program executed, in this case, testparm.

      Try running any program, including one that quit with errors, and then do an echo $? to see the exit code.

Leave a Comment