As mentioned earlier, Samba actually contains several programs that serve different but related purposes. Here we introduce each of them briefly and describe how they work together. These programs are documented fully in Appendix A.
The majority of the programs that come with Samba center on its three major daemons and one management service application. Let's take a high-level look at the responsibilities of each:
findsmb
A program that searches the local network for computers that respond to SMB protocol and prints information on them. It is written in Perl and is a good example of how scripts can utilize Samba command-line tools to extend functionality.
net
This new program distributed with Samba 3.0 can be used to perform remote administration of servers. It also includes some local Samba administration functions.
nmblookup
This program provides NBT name lookups to translate NetBIOS names to network addresses, and vice versa.
ntlm_auth
This tool provides a command-line interface to Winbind's NTLM authentication interface. This tool allows third-party applications such as pppd and the squid web proxy server to support NTLM authentication by leveraging Samba's existing functionality.
pdbedit
This tool is the replacement program for many of the functions performed by the smbpasswd utility in previous releases. It is the command-line management tool for user account information stored in a passdb backend.
rpcclient
This program can be used to run MS-RPC functions on Windows clients. Although it can be useful, it is primarily a developer testing tool, and so has a tendency to change frequently. The net command is promoted as the stable, administrative tool for performing similar functions.
smbcacls
This program is used to set or show ACLs on Windows NT filesystems.
smbcquotas
This program is used to set or show filesystem quotas on Windows servers.
smbclient
This ftp-like Unix client connects to SMB shares and operates on them.
smbcontrol
This simple administrative utility sends messages to nmbd or smbd.
smbmnt, smbmount, smbumount, mount.cifs, umount.cifs
These helper utilities for the Linux smbfs and cifs filesystems allow Linux systems to access shares offered over SMB/CIFS.
smbpasswd
This program allows an administrator to change the passwords used by Samba. It also provides a means for a user to remotely change his password on a SMB/CIFS server.
smbspool
This print-spooling program is used by the Common Unix Printing System (CUPS) to send files to remote printers that are shared on the SMB network.
smbstatus
This program reports the current network connections to the shares on a Samba server.
smbtar
This program, similar to the Unix tar command, backs up data in SMB shares. This is another example of a script written around an existing Samba command-line utility.
smbtree
This program is similar to the findsmb Perl script, but was written using the libsmbclient library.
smbget
This utility is the SMB equivalent of the GNU wget utility for retreiving files.
tdbbackup, tdbdump, tdbtool
These tools manipulate Samba's trivial database (tdb) files.
testparm
This simple program checks the Samba configuration file.
wbinfo
This utility queries the winbindd daemon.
Each major release of Samba goes through an exposure test before it's announced and is quickly updated afterward if problems or unwanted side effects are found. The latest stable distribution as of this writing is Samba 3.0.22, and this book focuses mainly on the functionality supported in this release, as opposed to older versions of Samba.