Samba Troubleshooting

From SambaWiki

SELinux

A great resource for learning about SELinux http://fedoraproject.org/wiki/SELinux

specific samba policy http://fedoraproject.org/wiki/SELinux/samba

For the most part, the information on the specific Samba policy link above should take care of the things most people need.

CIFS Broken in Samba 3.0.23a

The cifs support in the official 3.0.23a release is broken. If you mount a share using "mount -t cifs ..." you can see the files but attempts to access them result in a "Permission Denied" error.

The svn branch has been fixed so you can checkout the code and compile your own version or be patient and wait for the official 3.0.23b release. This is most likely to be a problem to Fedora Core 5 users where cifs has replaced smbfs which is no longer available as a mount option.

Slow file transfer - especially smaller files

Under some situations, folder/directory browsing and transfer of smaller files (<10MB) can be very slow (~300kb/s on a 100Mb/s network). This has been experienced on Mac OS X and Debian GNU/Linux (Samba 3.0.23d). In both cases, the solution has been to add this option to the global section of smb.conf

large readwrite = no

How to check whether your problem is already fixed:

For the server, check the release notes for the latest stable Samba (see http://samba.org/samba/history/ for a list of recent releases), which contains a list of major fixes made to the server and related utilities.

For the Linux CIFS client you can see the source file fs/cifs/CHANGES to see the list of bug fixes

I can't join a foo.local domain.

You will see an error with 'net -d 10 join ads ..'

[2007/10/15 19:45:30, 2] libads/ldap.c:ldap_open_with_timeout(70)
  Could not open LDAP connection to server.foo.local:389: Illegal seek

This issues is caused by mDNS as .local is reserved for mDNS. Use foo.lan or foo.intranet or something else.

strace ldapsearch -x -h ldap.local
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)

glibc 2.9 and newer

Edit /etc/nsswitch.conf and

change

 hosts:  files mdns4_minimal [NOTFOUND=return] dns

to

 hosts:  files dns


Older glibc versions

mDNS can be disabled in /ets/host.conf by adding 'mdns off' but it is currently broken in glibc 2.6.1.