I frequently find myself discussing open-source software with individuals who are not yet taking advantage of its many capabilities. Frequently, these people are comfortable with another operating system, such as Windows or OS/400. After a period of discussion, they typically bring the conversation to a close by saying, "Although it sounds intriguing, I don't know what use I'd have for it." Perhaps you are one of those who has said or thought something like that. Over the next few months, I'm going to discuss various problems I've solved using open-source software (Linux included). In doing so, I hope to give you some ideas for its use in your shop.
Doin' the Samba
When most people think of Linux, they tend to think of the Internet and Web servers. There is no doubt that Linux shines in that role. But if I had to choose one piece of open-source software that serves as the greatest validation for Linux in any workplace, it would have to be Samba. Samba is the software that allows Linux and other Unix-based machines to participate (as a client, a server, or both) in a Windows-based network in a manner similar to IBM's NetServer for the iSeries. Most smaller iSeries shops (and shops with no iSeries at all) tend to have a Windows-based network in their organization. These shops fall into the following loosely defined categories:
- Those that use only peer-based networking, in which no particular machine provides server facilities. This type of network (hereafter referred to as the "frontier-style" network) is characterized by everyone doing their own thing. Data and printers are shared in a hodge-podge array of user shares, managed by no one person in particular. This network started as just a few machines that, over time, morphed into a nightmare because of the ease of creating "Windows shares." Typically, this network is based on the 9x/XP flavor of Windows. Backups for data on this type of network are spotty at best, and security isn't even a consideration.
- Those that have a Windows server on a separate, dedicated machine. This can be either another peer server (in which case, security is not only an afterthought but likely nonexistent) or a Windows NT/2000 server with all the trimmings (where both backup and security are orders of magnitude better). This kind of shop may contain a mix of all of the generations of Windows, from Windows 9x through NT/2000/XP. I'll refer to this network as the "professional" Windows network.
- Those that have an iSeries on their network. Since we're all aficionados of OS/400, I assume we would all agree that this breed runs the tightest ship. A shop of this caliber has nothing but the finest and most technically competent administrators running the show. Thus, there would be nothing but NT and above running in this type of shop. For simplicity, let's call this the "iSeries" network.
If you were to examine 100 instances of each of these types of networks to determine what network services would be in use, I believe the tally would show the leader to be file and print services, followed by user authentication. Incidentally, these are services that Samba can provide. So let's look at the various network scenarios and see where Samba would be valuable.
The Frontier-Style Network
If you've ever had the pleasure of working in one of these shops, you probably can tell where this is going. There is just so much wrong with a frontier-style peer network that a discussion of the faults could take an entire evening. Boiling down this discussion would leave us with two major points: 1) You need user authentication so that resources can be properly secured, and 2) you need to store files in a central repository where proper backup facilities can be enabled. It's definitely time to bring order to the chaos, and the only way to do that is by bringing a full-fledged server into the picture.
You could go the Microsoft route and get an NT/2000 server, and many may choose to do so. But if the final result is to be user authentication and file/print services, a more economical (and stable) choice would be to buy a machine and dedicate it to these tasks; then, load Linux and Samba on it. The money saved in MS license costs would more than cover the cost of upgrading the server to include SCSI, RAID, and a high-speed tape drive, thus further improving the reliability of the machine.
Administration of Samba is handled simply via the Web-based tool SWAT, which is included in the Samba package. Alternatively, you can use Webmin to administer both your Samba server and the Linux operating system on which it runs. My preference is Webmin.
The Professional Network
If you already have a Windows server, you may be asking yourself what value Samba could add to your existing systems. Notice I said systems. Conventional Windows wisdom states that, for maximum server stability, you shouldn't host multiple services on the same box. This infers that you should have separate machines for your print server, your file server, and your authentication server. For each of those machines, you're going to need to purchase additional Windows server licenses. Instead of doing that, why not buy another box for your server and load Linux and Samba on it? Unless your bandwidth requirements for file and printing services are huge, you'll find that the open-source combination is more than capable of handling both services on one box. As for user authentication, you can configure your Samba server to use the NT/2000 server you already have. So there will be no need to manage your users separately.
The value of this combination is twofold. First, you offload demand from your current NT servers to a separate machine without incurring additional license costs. Second--and more important--is the improvement in NT server stability (if conventional wisdom is to be believed). If you're getting ready to add more server capacity to your network, then you ought to give this a try. All you have to lose is some time. What you have to gain you'll need to determine for yourself.
The iSeries Network
Those of you who are heavy users of the iSeries NetServer are probably wondering what use you could possibly find for Samba on your network. After all, you have an iSeries because it's reliable and stable. It has a Samba equivalent (NetServer) that keeps improving with each subsequent release, and the user authentication service is seamless with the OS/400 users.
Why would you want to use a Samba server? It's not like conventional iSeries wisdom to put separate services on separate boxes to improve stability. But what if your iSeries is running out of capacity? Doesn't it make more sense to use a cheaper box to do your print serving than to upgrade your iSeries? And what about all of those files stored in your IFS that are now in "historical" status? Do you want those to live on your expensive iSeries drive real estate, or would you like to stage them on a cheaper box? These are but two scenarios in which a Samba server would be an asset.
Finally, what if you aren't at OS/400 V5R1 or better? The NetServer product can act as a Windows authentication server, but only in Version 5 or greater. I have clients who are running at V4R5 and earlier versions (one still uses SSP as a guest of OS/400, so he's constrained to V4R4) yet want authentication services. They can't get that service from the version of NetServer they have; instead, they use a Samba server to perform that task.
The Disclaimer
As good as Samba is, it can't completely replace all the functionality available with an authentic Windows server. Besides offering authentication services for Windows 9x clients, Samba can act as a Primary Domain Server for your NT/2000 clients. It can't, however, act as a Backup Domain Server. That isn't as bad as it sounds: There are solutions to the deficiency (which are beyond the scope of this article), but none of those solutions provide a snap-in solution.
Furthermore, you can't run an Exchange or SQL server on Linux (directly), so if you need those services, you'll need an MS product. Since it's unlikely that you'd put either of those on the same server as your file and print server, the point is probably moot.
Although the focus of this article has been using Samba as a server for your Windows clients, I'd be remiss if I didn't mention that the same software provides the means for your Linux (or Unix) clients to use the resources of your Windows (and NetServer) servers. Once installed on your Linux machine, Samba adds extensions to the standard mount command so that SMB file systems can be utilized as easily as any of the other *nix filesystems. For those of use who use Linux exclusively, this has been a godsend.
Give Samba a Whirl
Samba was originally created by reverse engineering the network traffic between two Windows machines. Since then, developers have had their hands full keeping up with the incessant changes to the protocol from Redmond, and they've done an excellent job. I've been involved with Samba implementations in each of the network scenarios listed earlier. And I'm impressed! I'm sure that you, too, will be impressed when you give Samba a try.
Barry L. Kline is a consultant and has been developing software on various DEC and IBM midrange platforms for over 20 years. Barry discovered Linux back in the days when it was necessary to download diskette images and source code from the Internet. Since then, he has installed Linux on hundreds of machines, where it functions as servers and workstations in iSeries and Windows networks. He recently co-authored the book Understanding Linux Web Hosting with Don Denoncourt. Barry can be reached at
LATEST COMMENTS
MC Press Online