Test your Samba server for configuration errors

last updated in Categories Linux, Shell scripting, Tips, Troubleshooting, UNIX

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:
if [ $? -eq 0 ]; then
echo "Syntax OK"
echo "Syntax Error"

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


4 comment

  1. well when i tried to configure smba – everything went fine … but when clicked on the icon of UNIX SERVER from WIN xp – got an error stating that I do not have access permission and shld contact administartor of that server ..

  2. Doesn’t testparm have to be function? to wrk like that?

    function testparm()
    if [ $? -eq 0 ]; then
    echo “Syntax OK”
    echo “Syntax Error”

    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