Doing the Samba
Windows based machines use the SMB protocol to share files, printers and
communicate. This is a proprietary protocol and Windows doesn't integrate
as well with non-Windows networks using other protocols. It is possible to
share files between PC's running Linux and Windows using FTP or HTTP but
it isn't as transparent a process. Print services are also a problem.
Samba is a terrific software that bridges the gap between Linux and
Windows PC's on the network. File sharing and print services are a lot
more transparent though it's a lot easier from the Windows end.
Where to get Samba?
Samba is available at www.samba.org or your local mirror. Most
distributions already come with the Samba binaries on the cd so you should
look there first. At the web-site you will find both the source and the
binaries for download. Samba has also been ported to OS/2, Amiga and VMS
so even if you are on a non-Unix system then you need not worry. The
latest version as of writing this article is 2.0.7 though I have used
version 2.0.6 here in this article. Download and install and then check
out the example smb.conf files in the examples directory. If you
downloaded the source code then it should be under a documentation
directory. I used the RPM off my Red Hat 6.2 CD and it placed the example
smb.conf file in the following directory:
/usr/doc/samba-2.0.6/examples/simple/smb.conf
This is quite a long smb.conf file and you can generally get away with a
much smaller and simpler configuration file. But it is a good place to
start with because most of the common options and a short description of
each option is given.
smb.conf
All the configuration of Samba is contained in the file smb.conf which can
be found in /etc. The Samba configuration is divided into various sections
or shares. Each section begins with a share name enclosed between square
brackets ( [Public] or [Noname] ) and under each section are defined the
options. Each option is followed by '=' after which the option parameters
are given. The parameters may be 'yes','no', or some user-defined parameter.
There are quite a few parameters and options in Samba but not all of them
are required to get you started.
I use only a basic smb.conf which is given below.
[global]
workgroup = workgroup
server string = Samba is fantastic