Perhaps the most widely-used Linux tool right now is the Samba server which allows Linux and Windows to share files and printers. Samba is making the integration of Linux and Windows systems in the work place nearly seamless, with very little distinction to the end user between the two different operating systems. Samba is perhaps one of the reasons why Linux is becoming so widely accepted by IT departments across the world.
In 2000, Dominic Baines wrote the Samba Black Book for Coriolis Open Press. As an IT consultant, Mr. Baines travels world-wide and deals with Samba in a variety of different situations, which has made him somewhat of an authority on Samba.
The book is divided into thirteen chapters and three appendixes. Each chapter deals with a specific area or use of Samba. The first thing the reader learns is what exactly Samba is and how it can be used. There is also a short introduction to Linux/UNIX and Windows, and the GNU/Free Software Foundation.
After this, the author goes into a variety of networking protocols that are related to Samba and a full Samba implementation. He discusses the TCP/IP protocol, IP routing, and internet domains to give the reader an overview of how Samba uses these protocols. Next he goes into using and setting up DNS to be used with the Samba server, and the use of DHCP. The author also goes through using NetBIOS, WINS, and understanding the SMB protocol.
The next chapter describes how to obtain the source code for Samba and how to install it. It details grabbing the latest and greatest from CVS, and understanding the Samba executables. It details two different methods of using Samba: via inetd or standalone, and the drawbacks or benefits of each. Finally, it details how to test that the installation works properly, and how to use the SWAT web administrative tool.
Now the book goes into the nitty-gritty of setting up Samba. The next two chapters describe in a fair amount of detail how to configure Samba as a file server and as a print server. The author provides an incredible amount of information on how to configure both types of servers with a number of examples.
The next two chapters deal with connecting to the Samba server from Microsoft clients and other Linux/UNIX machines. It details how to connect and disconnect from shares, and how to manipulate files, directories, and the print queue under Linux/UNIX operating systems.
The final chapters deal with advanced Samba management. It covers a number of topics including NetBIOS elections, creating a WINS service in both Samba and Windows NT, and using RAS and PPP on your network and how they interact with Samba. It also details domain control management, and describes the differences between using Samba in a Workgroup versus a Domain. The author even gives short instructions on how to create DNS, DHCP, and WINS servers to use with Samba.
One of the last chapters deals specifically with Samba security issues, and the author goes on to describe password management, the various Samba security levels, controlling host access, and using SSL with Samba. He even goes into some detail describing some firewall rules to use with your Samba server. Unfortunately, he only details the older firewall tools for kernels 2.0 (ipfwadm) and 2.2 (ipchains).
Finally, the author covers Samba troubleshooting, and there is truly a wealth of information here. He covers a number of tools, included with Samba and other third-party tools, and has a suite of tests that can be followed to track problems down.
I was quite impressed with this book. It’s 582 pages of quality information with little redundancy. The structure was good and there was a definate order of importance to the chapter layout in terms of learning about Samba at the beginning, to becoming a Samba guru at the end.
The author includes a lot of scripts and direct examples for working configurations relevant to what he is talking about at the moment. He also describes in detail the parameters for the configuration section he is talking about, which helps to further clarify exactly what he is demonstrating in his sample code and configurations.
The Samba Black Book is an exceptional reference to Samba. It isn’t an easy read, being very comprehensive and technically oriented, but it makes an excellent reference for pretty much anything related to Samba. I like how the author delves into other supporting applications for Samba, such as DNS, DHCP, and WINS. This makes the book a good all-around guide to implementing a full Samba solution for your LAN or WAN.
Having said that, the book is not meant for newbies. The book has a rating of Intermediate to Advanced, but I wager that a lot of the material covered, and how it is covered, may be a little too heavy for even intermediate users. While it can make a useful guide to solving problems or configuration issues for the casual Samba administrator, it was certainly written for the more computer-savvy folks. It wouldn’t be my recommendation as a primer for Samba, that’s for sure.
The author also has a strong Windows background, which makes this more of a handbook for the Windows IT professional that is interested in using Samba to create a more secure and reliable file and print sharing network. It does not cover Linux or UNIX in any sort of detail, so if you’re looking at setting up a Linux system for the first time in order to use Samba, you’d be better off grabbing a general Linux book to work with as well.
All in all, Samba Black Book is an exceptional tool. Having it in your arsenal of reference material, if you are a systems administrator, would be a great idea as it is perhaps one of the most comprehensive books on Samba I’ve seen yet.