Centos – Can connect to Samba, but access denied to homes

centossamba

I can connect to the samba server using both IP address and server name, and I can see the home folder name, but can't connect to it

smb.cnf

[global]
    workgroup = WORKGROUP
    server string = Venus
    wins support = no
    read only = no
    browsable = yes
    create mode = 0777
    directory mode = 0777
    case sensitive = no
    dns proxy = no
    interfaces = 127.0.0.1/8 eth0
    bind interfaces only = yes
    log file = /var/log/samba/log.%m
    max log size = 1000
    syslog = 0
    security = user
    encrypt passwords = true
    passdb backend = smbpasswd
    obey pam restrictions = yes
    unix password sync = no
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    pam password change = no


[homes]
   comment = User Directories
   path = /data/localdevs/%u
   public = no
   browsable = yes
   writable = yes

the /etc/samba folder has the following files in it

lmhosts  smb.conf  smb.conf.orig  smbusers

The output of "sudo pdbedit -L" is

user1:500:

ls -abl /data/localdevs/

drwxr-xr-x. 4 user1 user1 4096 Jul 24 17:35 user1

These are what samba logs are showing when I get the access denied to user1's home directory

[2012/07/24 20:27:08.599216,  3] smbd/process.c:1489(process_smb)
  Transaction 24 of length 90 (0 toread)
[2012/07/24 20:27:08.599350,  3] smbd/process.c:1298(switch_message)
  switch message SMBntcreateX (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.599373,  4] smbd/uid.c:257(change_to_user)
  change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.599412,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.599485,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.599508,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.599552,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.599581,  3] smbd/dosmode.c:166(unix_mode)
  unix_mode(.) returning 0766
[2012/07/24 20:27:08.599643,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.599668,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.599707,  4] smbd/open.c:1990(open_file_ntcreate)
  calling open_file with flags=0x0 flags2=0x0 mode=0766, access_mask = 0x81, open_access_mask = 0x81
[2012/07/24 20:27:08.599806,  3] smbd/open.c:467(open_file)
  Error opening file . (NT_STATUS_ACCESS_DENIED) (local_flags=0) (flags=0)
[2012/07/24 20:27:08.599838,  3] smbd/error.c:80(error_packet_set)
  error packet at smbd/error.c(160) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED
[2012/07/24 20:27:08.604075,  3] smbd/process.c:1489(process_smb)
  Transaction 25 of length 90 (0 toread)
[2012/07/24 20:27:08.604193,  3] smbd/process.c:1298(switch_message)
  switch message SMBntcreateX (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.604216,  4] smbd/uid.c:257(change_to_user)
  change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.604268,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.604336,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.604395,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.604419,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.604442,  3] smbd/dosmode.c:166(unix_mode)
  unix_mode(.) returning 0766
[2012/07/24 20:27:08.604532,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.604554,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.604583,  4] smbd/open.c:1990(open_file_ntcreate)
  calling open_file with flags=0x0 flags2=0x0 mode=0766, access_mask = 0x81, open_access_mask = 0x81
[2012/07/24 20:27:08.604679,  3] smbd/open.c:467(open_file)
  Error opening file . (NT_STATUS_ACCESS_DENIED) (local_flags=0) (flags=0)
[2012/07/24 20:27:08.604705,  3] smbd/error.c:80(error_packet_set)
  error packet at smbd/error.c(160) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED
[2012/07/24 20:27:08.606977,  3] smbd/process.c:1489(process_smb)
  Transaction 26 of length 80 (0 toread)
[2012/07/24 20:27:08.607096,  3] smbd/process.c:1298(switch_message)
  switch message SMBtrans2 (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.607119,  4] smbd/uid.c:257(change_to_user)
  change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.607139,  3] smbd/trans2.c:5100(call_trans2qfilepathinfo)
  call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
[2012/07/24 20:27:08.607162,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.607184,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.607208,  3] smbd/trans2.c:5226(call_trans2qfilepathinfo)
  call_trans2qfilepathinfo . (fnum = -1) level=1004 call=5 total_data=0
[2012/07/24 20:27:08.608306,  3] smbd/process.c:1489(process_smb)
  Transaction 27 of length 80 (0 toread)
[2012/07/24 20:27:08.608362,  3] smbd/process.c:1298(switch_message)
  switch message SMBtrans2 (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.608383,  4] smbd/uid.c:257(change_to_user)
  change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.608403,  3] smbd/trans2.c:5100(call_trans2qfilepathinfo)
  call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1005
[2012/07/24 20:27:08.608439,  3] smbd/vfs.c:881(check_reduced_name)
  check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.608461,  3] smbd/vfs.c:1038(check_reduced_name)
  check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.608484,  3] smbd/trans2.c:5226(call_trans2qfilepathinfo)
  call_trans2qfilepathinfo . (fnum = -1) level=1005 call=5 total_data=0

Best Answer

The solution was this

sudo chcon -t samba_share_t ./data/localdevs/user1

Apparently it's a centos thing.

Note: The syntax as root (replacing with the directory you are trying to share)

chcon -t samba_share_t <share_folder>