How can I set up Samba shares to only be accessed by certain users?
I have a RAID10 array mounted on Ubuntu Server 12.04. I have created a few folders within the mount point and want the following functionality.
There will be 4 users, 3 of them are windows users: 'one' 'two' & 'three'. 'four' is a media streamer that only needs to access the MEDIA share. One Two and Three need to have full access to the media share and their own personal shares (for documents) which no other users but them can access.
Currently, User Four works perfectly (Has full access to the MEDIA folder and can't access folders owned by other users). The problem is, when logged in as the other user, I can't access either share; (tried using valid users = and using chmod to add permissions to no avail).
TL;DR: I need to know how to configure Samba properly to restrict access to certain shares for certain users and allow all of them to access one communal folder (all files on a RAID10 mount).
1 Answer
Each samba user must have a normal linux account as well.
- Make sure that every user can access the common media folder on the unix side (without samba); alternatively, you can set
force userinsmb.conf - Make sure each user has a samba password set. You can set it with
sudo smbpasswd -a your_user - Look at
/etc/samba/smb.conf: check if the linesecurity = useris set in the[GLOBAL]section - Set your shares in
/etc/samba/smb.conf, see example
Example shares:
[allaccess] path = /media/common read only = no writeable = yes browseable = yes valid users = one, two, three, four create mask = 0644 directory mask = 0755 ; if you set this, all files get written as this user force user = oneThis will be accessible via \\yourserver\allaccess
A single user share:
[special] path = /home/two/onlytwo read only = no writeable = yes browseable = yes valid users = one create mask = 0640 directory mask = 0750Restart the samba server after the changes with:
sudo service smbd restart 6