Samba Woes

22 Jan 2009

This is one of the adventures in Linux... It's not just Windows that causes headaches. Sometimes, Linux gives you a head scratcher, too.

After a routine update to a Linux server,all files were inaccessible. It turned out that the Linux file sharing service, Samba, wasn't running. Specfically, the smb daemon terminated immediately with an error message in the log file "User account [nobody] not found!"

This customer uses LDAP as user database. The user "nobody" is not stored in LDAP, though, but rather in the standard /etc/passwd file.

As it turns out, Samba implements an optimization for LDAP access. Instead of consulting PAM and nss for finding user names - which would consult both LDAP and /etc/passwd, Samba can optionally directly access the LDAP database.

Turning off this optimization solved the problem.

To turn off this optimization, remove (or comment out) the following entry in your smb.conf file:

ldapsam:trusted = yes