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
# ----------------------- 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”
I’m glad you posted this.
My samba shares also stopped working.
I created a bug ticket here:
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.
I’m having the same problem and also struggling to downgrade to samba-3.3.2-0.33.fc11.x86_64.rpm.
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.
Samba 3.4.2 is out, haven’t had a chance to test it yet.
Only security fixes are mentioned.
OK, the same problem exists!
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.
Fixed! See my update in the article.
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?
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
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.
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]
Thanks for this information. Sounds like you’ve found a way of making tdbsam work properly, rather than just disabling it like I did 🙂
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.
What worked for me was simply re-adding all the user accounts.