Tired of paying hundreds of dollars for commercial file serversoftware? Looking for an application that lets you share *NIX andWindows files seamlessly across a network? Say hello to Samba, softwarethat's so cool, it'll make you want to kick up your heels and dance,dance, dance!
Let's start with the million-dollar question - what is Samba?
Pop open the dictionary, and here's what you'll see:
samba: 1. large west African tree; 2. a lively ballroom dance from Brazil
The Samba Web site's definition is more prosaic, and also far more relevant to the task at hand: "Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients" (http://www.samba.org/)
Still confused? Let me translate. Very simply, Samba is a piece of software that sits on a Linux server and makes directories on it visible to, and usable by, Windows clients on the same network. By providing a central, easily-accessible location for file storage and organization, it allows users on a network to easily share files and documents with each other using standard Windows file manipulation commands and controls. As the Samba Web site succinctly puts it, "Samba runs on Unix platforms, but speaks to Windows clients like a native." (http://www.samba.org/samba/docs/SambaIntro.html)
As if that wasn't enough, Samba also supports a bunch of other cool features - user- and group-level security, name resolution, disk quotas, domain logons, roving profiles, service browsing - and can emulate (and sometimes surpass) the functionality of most commercial file servers. Best of all, Samba is free, a product of the open-source effort, and has gained immense popularity all over the world both for its feature set and its support for new technologies.
Samba works on the Server Message Block (SMB) protocol, which is designed to allow sharing of files, printers and ports between computers on a network. SMB ships standard with most recent versions of Windows, and is primarily responsible for allowing Windows systems to "see" and "talk" to each other on a network. With Samba, *NIX servers can speak SMB too - this allows them to communicate seamlessly with Windows clients and replicate the full functionality of a Windows SMB server.
A detailed discussion of how SMB works is beyond the scope of this tutorial - if you really want to know, drop by the official Samba Web site and take a look at their technical documents. If, on the other hand, you're more interested in seeing it in action, flip the page and let's get compiling!