Fixing Snow Leopard 10.6.3 Samba Write Access

Monday, 5. April 2010

June 21, 2010 Update: Apple appears to have solved the problem for many of us with the release of Snow Leopard 10.6.4.


To save you time I’ll give you the solution first then describe how I found it: Turn off Unix extensions in your Samba server by adding the following line to smb.conf in the global settings block and then restart Samba:

unix extensions = no
 

You might also need to unmount and re-mount your Samba volumes from OS X after you make this change.
 


After installing the OS X Snow Leopard 10.6.3 update I found that I could no longer write to Samba (SMB) volumes shared from my Linux server (running Ubuntu 9.10 Karmic Koala) that I had mounted on OS X. Whenever I tried to copy a file from OS X to the mounted Samba drive I got the error message:

The operation can’t be completed because you don’t have permission to access some of the items.
 

The operation can't be completed because you don't have permission to access some of the items.

Apparently a lot of other people are having the problem as well:

I couldn’t find the solution anywhere on Google, and I spent hours today searching. I finally found the solution serendipitously while trying to fix another Samba issue. While scouring the system and Samba logs on my Linux server to try to find a clue to the first problem I found a bunch of warnings like the following repeated over and over in the Samba log:

[2010/04/05 00:08:37, 0] param/loadparm.c:9783(widelinks_warning)
Share 'documents' has wide links and unix extensions enabled. These parameters are incompatible. Wide links will be disabled for this share.

 

This warning started logging on March 24th, the same day that Ubuntu announced and patched a vulnerability related to the Samba wide links option: Ubuntu Security Notice USN-918-1. According to Using Samba by Robert Eckstein, David Collier-Brown and Peter Kelly you should not turn off the wide links option for performance reasons. (See Appendix B: Samba Performance Tuning.) Since I use Samba for just about everything I decided that performance was more important than Unix extensions so I added the following to my smb.conf in the global settings block and restarted Samba:

unix extensions = no
 

To my amazement and delight, this had the welcome side effect of solving the Samba write access issue I was having with OS X. To verify that this is really what solved the problem I re-enabled Unix extensions and restarted Samba and the write access problem returned. Then I turned Unix extensions off again and restarted Samba and I could write to all of the Samba mounts again from OS X. So if you are having problems writing to Samba mounts from OS X ask your system administrator to turn off Unix extensions in the server’s Samba configuration.
 


I’ve had emails and comments that point out that there are advantages to having Unix extensions on. That’s true and this should be considered a workaround rather than a fix. When (if?) Apple fixes the underlying problem you should turn Unix extensions back on in your Samba server.

Share 'Fixing Snow Leopard 10.6.3 Samba Write Access' on Delicious Share 'Fixing Snow Leopard 10.6.3 Samba Write Access' on Facebook Share 'Fixing Snow Leopard 10.6.3 Samba Write Access' on Google Buzz Share 'Fixing Snow Leopard 10.6.3 Samba Write Access' on Google Reader Share 'Fixing Snow Leopard 10.6.3 Samba Write Access' on LinkedIn Share 'Fixing Snow Leopard 10.6.3 Samba Write Access' on Email

57 Responses to “Fixing Snow Leopard 10.6.3 Samba Write Access”

  1. mk3d says:

    Yeeeaaahh!! Thanks for this topic, it’s work fine!!! Many thanks!!!

  2. Sam says:

    Another stupid Mac user. Disabling unix extensions is not a good solution. Lose file permissions and links.

    • dean says:

      @Sam: Did you read the entire post? This was a temporary workaround while we waited for Apple to fix the problem. The choice for many of us was either turn off Unix extensions or not be able to access Samba shares at all. I don’t think anyone deserves to be called “stupid” for making that choice.