As mentioned earlier, Samba actually contains several programs that serve different but related purposes. These programs are documented more fully in Appendix C. For now, we will introduce each of them briefly and describe how they work together.
The majority of the programs that come with Samba center on its two daemons. Let’s take a refined look at the responsibilities of each daemon:
The nmbd daemon is a simple name server that supplies WINS functionality. This daemon listens for name-server requests and provides the appropriate IP addresses when called upon. It also provides browse lists for the Network Neighborhood and participates in browsing elections.
The smbd daemon manages the shared resources between the Samba server and its clients. It provides file, print, and browse services to SMB clients across one or more networks and handles all notifications between the Samba server and the network clients. In addition, it is responsible for user authentication, resource locking, and data sharing through the SMB protocol.
New with Version 2.2, there is an additional daemon:
The Samba distribution also comes with a small set of Unix command-line tools:
A program that searches the local network for computers that respond to SMB protocol and prints information on them.
A program used when working with Samba’s internationalization features for telling Samba how to convert between upper- and lowercase in different character sets.
Another internationalization program used with Samba for compiling Unicode map files that Samba uses to translate DOS codepages or Unix character sets into 16-bit unicode.
A new program distributed with Samba 3.0 that can be used to perform remote administration of servers.
A program that provides NBT name lookups to find a computer’s IP address when given its machine name.
A new program distributed with Samba 3.0 that is helpful for managing user accounts held in SAM databases.
A program that can be used to run MS-RPC functions on Windows clients.
A program that is used to set or show ACLs on Windows NT filesystems.
An ftp-like Unix client that can be used to connect to SMB shares and operate on them. The smbclient command is discussed in detail in Chapter 5.
A simple administrative utility that sends messages to nmbd or smbd.
A command that can be used to define mappings between Windows NT groups and Unix groups. It is new in Samba 3.0.
A helper utility used along with smbmount.
A program that mounts an smbfs filesystem, allowing remote SMB shares to be mounted in the filesystem of the Samba host.
A program that allows an administrator to change the passwords used by Samba.
A tool that functions like a command shell to allow access to a remote SMB filesystem and allow Unix utilities to operate on it. This command is covered in Chapter 5.
A print-spooling program used to send files to remote printers that are shared on the SMB network.
A program that reports the current network connections to the shares on a Samba server.
A program similar to the Unix
tar command, for
backing up data in SMB shares.
A program that works along with smbmount to unmount smbfs filesystems.
A simple program for checking the Samba configuration file.
A program that tests whether printers on the Samba host are
recognized by the
Each major release of Samba goes through an exposure test before it’s announced. In addition, it is quickly updated afterward if problems or unwanted side effects are found. The latest stable distribution as of this writing is Samba 2.2.6, and this book focuses mainly on the functionality supported in Samba 2.2.6, as opposed to older versions of Samba.