Upgrading samba breaks it

I have a samba fileserver which has been happily running for a couple of years with identical config but on different versions of samba, and on Fedora and CentOS.

The latest incarnation was running samba 3.2.11.

But the other day, my samba package was upgraded to 3.4.1

Samba shares on the server immediately stopped working and access is immediately denied to all users.

I looked at the config and nothing has changed during the upgrade.

I looked at the logs and no access attempts are recorded; no errors are logged.

I noticed that the new template config file is a little different from previous versions, so I made the necessary changes and migrated my config to the new file. No change to samba’s behaviour at all.

For a while I wondered if I had a rogue samba server on my network, but stopping my samba service causes requests to time out rather than be denied. So it’s definitely my samba daemon that’s responding, but goodness knows why it behaving like this.

Restarting samba puts the following in the log file:

[2009/10/02 10:33:54,  0] smbd/server.c:1065(main)
smbd version 3.4.1-0.41.fc11 started.
Copyright Andrew Tridgell and the Samba Team 1992-2009
[2009/10/02 10:33:54,  0] smbd/server.c:457(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
[2009/10/02 10:33:54,  0] smbd/server.c:457(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use

I will keep hunting until I find what’s caused this. Unfortunately I can’t watch any of my recorded TV programmes until then!

I’ll post back here when I’ve tracked it down.

Update: I managed to get Samba working again. Sort of. This is a snippet from my now-working smb.conf:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

security = user
#       passdb backend = tdbsam
passdb backend = smbpasswd

As you can see, I simply reverted to the older smbpasswd authentication after yum upgraded Samba and switched to tdbsam and my shares magically sprung back to life. It’s a shame, because I don’t like going backwards. I like going forwards – hence I run Fedora.

I can confirm that this “fix” works with the latest version of Samba at the time of writing – version 3.4.2.

So despite the claim that tdbsam requires no extra configuration, clearly there’s more to it than that. I will once again post back here when I’ve found a way to enable tdbsam without breaking everything. 🙂

16 thoughts on “Upgrading samba breaks it

    1. Hi Nathan,

      Thanks for posting. Good to know I’m not the only one having the problem. I was sure it was something to do with my config, but reporting it as a bug would have been my next step.

      Cheers,
      Jonathan

      Like

  1. Hi again guys, managed to get samba working with a brutal: rpm -ivh –nodeps samba-3.3.2-0.33.fc11.x86_64.rpm

    I left the latest 3.4.1 versions of samba-common and samba-winbind installed.

    Like

  2. I’ve just been “making do” without my samba share since it broke, hoping that Fedora would push out a fix. However this hasn’t happened so today I tried Dylan’s advice and rolled back to 3.3.2, doing:

    rpm -e --nodeps samba
    rpm -ivh --nodeps http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/samba-3.3.2-0.33.fc11.i586.rpm

    I had to fix a couple of the configs beacuse rpm added .rpmsave extensions to some of them, then I restarted.

    The problem has been solved with my Ubuntu netbook, but still exists for my Fedora desktop and all versions of Windows. Grr.

    Like

  3. @Jonathan
    I have experienced the same problem and I tried your fix. Initially it prompted me for a username and password (which I didn’t have configured) so I swapped it back to security=share (which is how I wanted it running) and suddenly it started working and I could access the shares without logging in. Unfortunately when I re-booted it had failed again and I couldn’t access it.
    Do you know of a fix that will allow me to use share instead of user security?

    Like

    1. Hi Stephen,

      I’m afraid I’ve never used share security so I can’t really offer any advice. However it is worth noting that in the latest version of samba, security=share is marked as deprecated and so will be removed in some future release.

      But I’m not authority on samba – I’m just an end user who has written about his problems 🙂 I’d recommend posting your question to the samba mailing list: https://lists.samba.org/mailman/listinfo/samba

      Cheers,
      Jonathan

      Like

  4. Thanks anyway – I guess I was just hoping you might have a solution as I’m finding nothing helpful on any of my searches and I’m getting exactly the same ‘…Address already in use’ errors and no visibility of my server when trying to browse from my windows machine. I keep hoping there will be a new version to fit it as I’ve been held up for a few weeks now with no access to copy files onto the server.

    Like

  5. Hey Jonathan,

    I had the same symptoms as you after upgrading from openSuSE 11.1 to 11.2 (which came with samba 3.4.2 . The fix was a little different for me (https://bugzilla.novell.com/show_bug.cgi?id=518286). Basically I had to run:

    pdbedit -i smbpasswd:/etc/samba/smbpasswd -e tdbsam:/etc/samba/passdb.tdb

    then add “passdb backend = tdbsam” to /etc/samba/smb.conf in [global]

    Like

    1. Hi Alexander,

      Thanks for this information. Sounds like you’ve found a way of making tdbsam work properly, rather than just disabling it like I did 🙂

      Cheers!
      Jonathan

      Like

  6. Hi,

    Thanks for this post. I tried to follow Alexander advice, but It didn’t work here (Debian 6, samba 3.5.6). Had to change the passdb backend to smbpasswd.

    At least it work now… So thanks again.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s