Samba—Unix Talking with PCs

Linux Journal mentioned to Andrew Tridgell that we wanted to interview him about his work with Samba, and he responded with this enlightening and entertaining account of the development of the Samba package, answering all the questions we had intended to ask before we could ask him.
What Can It Do?

Now that I've got that off my chest, I better tell you what Samba can do. Not that I expect anyone to still be reading after a tirade like that one.

Samba provides file and print services to SMB clients. These include LanManager, Windows for Workgroups, Windows NT and OS/2. There is also a free client for DOS put out by Microsoft, but it's a real memory hog.

Samba also provides a Netbios name server, so PCs can find the server, and a Unix SMB client program. The SMB client only has a primitive ftp-like interface, but a proper mountable SMB filesystem for Linux is in the works.

Samba uses quite a comprehensive configuration file mechanism written by Karl Auer. Karl also did all the documentation for Samba, which I think has been very important in its success.

Some features of the Samba server are:

  • freely distributible source under GPL

  • supports more than 20 flavours of Unix

  • easy configuration

  • supports mangled filenames with root name preservation

  • much faster than NFS

  • much more secure than NFS

  • clients are pre-installed on many platforms

  • most clients have auto-reconnect

  • restrict access by username/password, by IP address or netgroup

There are a lot more bits and pieces. Samba has “suffered” from Karl's code that allows me to easily add new options. There are now more than 60 configurable options in the server, which can be applied in endless combinations for each exported file or print service. Thank god for Karl's man pages.

Samba is being improved all the time. It is now a distributed development effort with many active contributors. Upcoming versions are likely to include full long filename support for those clients that can handle it (such as Windows NT and Chicago), browsing support and a mountable SMB filesystem. Work is also proceeding on a more complete RFC1001/1002 netbios nameserver implementation.

Get it, use it. If it doesn't work for you, then remember how much it cost. Also remember to send me a bug report.

Now I think I'll go and have some lunch.

Andrew Tridgell is an associate lecturer in the department of computer science at the Australian National University in Canberra, Australia. He is also completing a PhD in automatic speech recognition in the computer sciences laboratory at the same university.