Install Samba:
sudo apt-get install samba samba-common-bin
Add your username to sambashare group:
usermod -aG sambashare <username>
Setting up public share, guests allowed
Make a public directory, for example:
sudo mkdir /media/usbhdd/shares/public
Change permissions:
sudo chmod 1777 /media/usbhdd/shares/public
Explanation:
1: sets the sticky bit. This set on a directory ensures that users can only delete files they own.
7: sets RWX read , write and execute for the user owner
7: sets RWX read , write and execute for the group owner
7: sets RWX read , write and execute for others
Edit config file:
sudo nano /etc/samba/smb.conf
and add:
[public] comment = Public share path = /media/usbhdd/shares/public browseable = yes read only = no guest ok = yes
Test your configuration:
testparm
Restart Samba:
sudo service samba restart
Adding samba users
sudo smbpasswd -a root
New SMB password: Retype new SMB password: Added user root.
Adding new users
Firs, add new user in Linux:
adduser <newuser>
Adding user `<newuser>' ... Adding new group `<newuser>' (1001) ... Adding new user `<newuser>' (1001) with group `<newuser>' ... Creating home directory `/home/<newuser>' ... Copying files from `/etc/skel' ... Enter new UNIX password: <enter-password-for-new-user> Retype new UNIX password: <repeat-password-for-new-user> passwd: password updated successfully Changing the user information for <newuser> Enter the new value, or press ENTER for the default Full Name []: <full-name-of-newuser> Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Set Samba password:
sudo smbpasswd -a <newuser>
New SMB password: Retype new SMB password: Added user <newuser>.
Make a shared folder for new user:
sudo mkdir /media/usbhdd/shares/<newuser>
Set ownership on new folder:
sudo chown <newuser>:<newuser> /media/usbhdd/shares/<newuser>
Set permissions:
sudo chmod 770 /media/usbhdd/shares/<newuser>
Edit Samba configuration file:
sudo nano /etc/samba/smb.conf
Add:
[<newuser>] comment = <newuser>'s share path = /media/usbhdd/shares/<newuser> valid users = <newuser> browseable = yes read only = no
Restart Samba:
sudo service samba restart
Public folder for downloaded torrents
(see: Setup Raspberry Pi as a torrent client using Transmission)
Edit Samba configuration file:
sudo nano /etc/samba/smb.conf
Add:
[Torrentbox] comment = Public Shares path = /media/usbhdd/shares/completed writeable = Yes only guest = Yes create mask = 0777 directory mask = 0777 browseable = Yes public = yes
Restart Samba:
sudo service samba restart