One step of moving over from Mac OS X to Ubuntu was setting up my file shares that I’m using for serving media content to Openelec. For OS X I’ve used SMBUp to configure the folder sharing. Ubuntu supposedly makes it easy to share a folder, you just right click the candidate and choose “Share in local network“. However, while the shared folders were presented to clients, I was not able to mount them right away. In order to get a decent error message, I used the command line tool smbclient to connect to a share:
smbclient //127.0.0.1/Share01 -N
The connection was opened, but when trying to list files (using the ls samba command), I was presented with the error NT_STATUS_ACCESS_DENIED. After some research, I found that you can use the force user configuration option to assign a default user for samba to use when sharing files. Initially I added this to individual shares, but it also works in the global section of the configuration.
Here’s my complete samba configuration for reference:
[global] server string = %h server (Samba, Ubuntu) server role = standalone server map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb force user = username create mask = 0700 guest ok = Yes [Share02] path = "/media/username/DataHD/Shares/S02 directory mask = 0777 [Share01] path = "/media/username/DataHD/Shares/S01 directory mask = 0777