Why is samba denying me access to my share?

Solution 1:

Is SELinux active? If it is, then you can make it accessible by setting the type to public_content_t. If samba should be able to write to it, then set the type to public_content_rw_t. Note that if you do the latter, you will also need to tell SELinux about this; my system-config-selinux has a boolean for this: Allow Samba to write files in directories labeled public_content_rw_t

Solution 2:

There's some additional information you will need to provide to answer this question.

I chown'd the /upload folder to my account 'kevin' and checked that I could create files and folders via the shell.

  • Did you do this chown as root, or as kevin, or as some other account?
  • What is the group currently assigned to the directory?
  • What is the directory's mode? Is the execute bit set for the user and group?

I can browse to the machine from Windows 7, authenticate as 'kevin' and see my home directory share and the upload share but I can't access them.

  • Is your Windows 7 machine a member of the same workgroup as the Samba server?
  • Is the server a member of a domain, is it a domain controller, or is it a stand-alone server? If your Windows 7 machine is in a domain you'll want to consider joining the server to the domain as well. While not necessary, it will help with authentication.
  • What is the security = setting currently at in /etc/samba/smb.conf? If your Samba server is a member of a domain it should probably be security = ads; if your Samba server is stand-alone it should probably be either security = user or security = share.
  • Do you have an entry for client signing = no? (You may need yes instead when connecting with newer Windows clients)
  • Do you have an entry for client use spnego = no? (You may need yes instead when connecting with newer Windows clients)
  • Is winbind running? If your server is not a domain member or a domain controller this may cause a bit of confusion while running; stand-alone servers do not need this service.