March 23, 2001, 4:29 PM —
There I was, in the middle of a Samba class -- and nothing was working! Half the class had Linux boxes running Samba, and the other half had Windows 98, which had been installed by the company we rented the machines from. Each pair of delegates had configured their Samba server and Windows 98 client in a unique workgroup, and the Windows users were trying to see their Samba servers from Network Neighborhood in Windows 98. Alas, all their clicking on Network Neighborhood failed to get any results.
With my credibility crumbling, I quickly fired up Ethereal (see Resources) and checked out what was happening on the wire. The reason for the problem was obvious -- and isn't it always! The Windows 98 clients had NetBEUI on them because the rental company had used Ghost to install the same image on them all; that image had NetBEUI as well as TCP/IP configured. NetBEUI was the default protocol and the Windows 98 clients were using it to browse the network. Samba does not yet work with NetBEUI, so it was not taking part in the browsing at all.
The fix was simple, of course: remove NetBEUI from each of the Windows 98 clients, restart them, and voilà! everyone could browse the network and see the Samba servers.
This is but one of the many problems that new and old users of most distributions of Samba encounter. On the Linux mailing list where I usually hang out, LinuxSA (see Resources), we see the same set of problems all the time. In this article, I'll outline some of these problems and suggest ways to recognize and -- most importantly -- fix them.
File and print services
Samba is a very popular open source server package with which Linux system can provide file and print services (also known as shares) for Windows clients of all types. Current versions of Samba (2.0.7) have rudimentary Primary Domain Controller (PDC) support, while Samba TNG can perform most PDC functions, even for Windows 2000 clients. Samba implements the Server Message Block (SMB) protocol, a complex protocol that was developed by IBM in 1984.
Samba ships with all Linux distributions that I am aware of, but, because of distribution cycles, the version that ships can often be behind the version available at the Samba Website.
Samba is used by many people around the world on a daily basis in a production capacity. Perhaps this is because of Samba's open source nature, the fact that it ships with Linux distributions, or because of the Samba team's efforts to supply a product that is quite compatible with Windows NT.
If your Samba server is correctly configured, you will see one or two copies of nmbd running, along with one copy of smbd plus one copy of smbd for each connected user. You can check whether these services are running with the following command:
ps ax | grep mbd
In addition, the smbstatus command can be very useful.
Password problems
Samba is a very complex package with many options and features, which can cause problems for new and old Samba users alike. Indeed, whole books have been written about Samba (see Resources for a selection). While many efforts have been made to make the versions (2.0.6 and 2.0.7) included with currently shipping Linux distributions easier to use out of the box, there are still problems that both casual and more experienced users are likely to encounter.
Without doubt, the problem we see most often on the LinuxSA mailing list has to do with encrypted passwords. The messages usually go something like this: "I just installed Red Hat 6.2 and saw that Samba was running, so I tried to browse the network from my Windows system and got a message about needing a password for IPC$. What did I do wrong? And what is this IPC$ anyway?"
This cry for help was most likely sent after these users got the error shown in Figure 1.
This problem is caused by encrypted passwords! More specifically, it is caused by different default configurations in Samba and Windows:













