2. General Information Contents of this section 2.1 What is Samba? Samba is server software for computers running under Unix or another Unix-like operating systems with standard TCP/IP available. (Samba, as it stands right now, depends on Unix file structure, permissions, system calls and services. There was a talk about a port to VMS, and maybe something else, but the status is currently unknown). It provides file and printer services for clients using some variants of SMB (Server Message Block) protocol. SMB is a "native" networking protocol used by MS-DOS based (in a very broad sense, including derivatives) clients. They include those from IBM, ICL, Microsoft and even one particular Novell product. In particular clients are distributed with `Windows for Workgroups', `Windows 95', 'Windows NT' (Microsoft), 'OS/2 Warp' (IBM) and others. Even if you have a client already please refer to the section Where I will find client software? for security and update issues. Some of Samba's server cousins include DEC Pathworks, Microsoft LAN Manager/X, OS/2 Lan Manager, IBM LAN Server, Syntax Server and Windows NT Server. Some clients such as Windows 95/Workgroups or Warp Connect can also act as low volume servers with limited management facilities. SMB is becoming very popular, mainly owing to these factors: * Windows 95 has dial-up access to PPP servers with an included service, and this service allows one to "browse" to public shares on the Internet. * Samba is "free" and this is a lot less expensive than Novell! (friendlier too!) * With Samba, Unix servers, well connected to a global network, can speak in a "native" protocol of clients. It is much simpler to maintain one more protocol on a capable server than teach new tricks to multiple clients which were never meant to do something else. * There is an established, well tested way of doing SMB over TCP/IP described in publicly available RFC 1001 and RFC 1002 documents. This means that SMB has a head start when it comes to Internet integration. 2.2 Where will I find server software? Samba software is freely available "on the net". It was created, and is still actively developed, by Andrew Tridgell, Andrew.Tridgell@anu.edu.au. The main Samba site is: * ftp://nimbus.anu.edu.au/pub/tridge/samba/ . There are also various mirrors which include: * ftp://src.doc.ic.ac.uk/packages/samba * ftp://ftp.demon.co.uk/pub/unix/samba * ftp://sunsite.unc.edu/pub/Linux/system/Network/Samba/ * ftp://choc.satech.net.au/pub/samba If you would like Andrew to spend more time on the Samba code then do not flood his private mailbox. If you have bug reports, contributions, patches or technical questions, for which you really cannot find answers elsewhere, e-mail to samba-bugs@anu.edu.au. At the time of writing the current version of Samba is 1.9.15p8 (released, for brave souls there is 1.9.16alpha10), but this is not likely to stay long at that. :-) 2.3 Where will I find client software? Together with Samba suite comes the smbclient program; so anything which can run the server may also become a client. If software on a machine you would like to connect to a Samba server did not include a client already, What is Samba? then various free clients can be found at * ftp://ftp.microsoft.com/bussys/ Be sure to look carefully. Microsoft keeps both older and current versions of some things on line there, and you most definitely want the newer versions. Also, the client included with Windows for Workgroups has been superseded by a newer one at this site (V 3.12b). Finally, Microsoft has acknowledged a security bug in the versions earlier distributed, both with Windows for Workgroups and Windows 95. This bug may allow people to access shares using the UNIX smbclient program, and then cd ../ to access, possibly in a few steps, the whole disk that the share is on. More information is available from Microsoft at: * http://www.microsoft.com/windows/software/w95fpup.htm * http://www.microsoft.com:80/KB/PEROPSYS/windows/Q136418.htm This can be fixed by downloading and installing with Microsoft's patches at: * http://www.microsoft.com:80/KB/SoftLib/MSLFiles/Wfwvsrvr.exe - Win 3.11 * http://www.microsoft.com/windows/download/vservupd.exe - Windows 95 Please note that they also have a similar Netware bug. See details at: * http://www.microsoft.com/windows/software/w95fpup.htm#Netware Be sure to consult * http://lake.canberra.edu.au/pub/samba/docs/security.htm for up to date information on possible other client security problems. Lastly, not free (but maybe you still want to look at them) replacement stacks for all the Microsoft operating systems are sold by companies such as FTP Software * http://www.ftp.com and Core Systems * http://www.win.net/~core/ who claim they provide better quality and have more features. There are also proprietry network solutions such as Dec Pathworks which include an SMB client as well. 2.4 Where can I find more information on Samba? There are WWW sites devoted to Samba. They include: * http://lake.canberra.edu.au/pub/samba * http://www.choc.satech.net.au/pub/samba Check also various WWW index sites for a "samba" keyword. Moreover, there are two mailing lists, samba@listproc.anu.edu.au and samba-announce@listproc.anu.edu.au to which you can subscribe. Discussions in the newsgroup comp.protocols.smb seem to concentrate mostly on Samba. Last, but not least, read the documents included with source distributions. 2.5 Where can I find details of SMB protocol? Beyond the protocol description writeup included with Samba sources, and various bits and pieces one may fish out on assorted Microsoft servers, one of the better sources is likely chapter 8 in "UNIX Networking", ed. Kochan and Wood (Pipeline Associates, Inc., 1989, published by Hayden Books, ISBN 0-672-48440-4). This particular chapter was written by Martin R.M. Dunsmuir, Director of Xenix Development, Microsoft Corp. As for Microsoft servers try this: * ftp://ftp.microsoft.com/developr/drg/SMB-info/smbpub.zip * ftp://ftp.microsoft.com/developr/drg/SMB-info/smbhlp.zip and possibly other files in the same directory. Another source of information can be found in X/Open publications. On-line catalog can be browsed at: * http://www.xopen.org/public/pubs/catalog/ Buying documents from X/Open is a pretty expensive proposition. For those of you used to thinking in terms of OSI model, Core SMB is an application layer service. The following diagram illustrates this mode with NETBIOS and SMB. --------------------------------------------------------------------------- Application ----------------> SMB Protocol Presentation Session ----------------> Netbios Transport Network Data Link Physical --------------------------------------------------------------------------- 2.6 How can I install Samba on my Unix machine? Get sources, read instructions, configure, compile, install. For some flavours of OS (Linux, SCO, ...) it is possible to find already precompiled binaries. It still can be simpler to make your own as long as you have a compiler. As distributed, the Samba software is installed in subdirectories of /usr/local/samba/. This default can be changed at compile time if there are prevailing reasons for that. If needed, add entries in /etc/services and /etc/inetd.conf as described in the Samba documentation. Make sure that the names of services (in Unix and Internet Protocol sense, not Samba services) in these two files are exactly the same. This is especially important if some entries were already there. These services use privileged ports so you will need root access, or at least cooperation from root, to install the Samba server. On the Unix side these ports could be moved, obviously, somewhere else. Unfortunately the port numbers seem to be hardwired into Microsoft clients, even if they sometimes pretend that this is not the case, so it looks like that you are forced to use defaults for proper operation. --------------------------------------------------------------------------- Next Chapter, Previous Chapter Table of contents of this chapter, General table of contents Top of the document, Beginning of this Chapter