What is Ubuntu Samba?
Samba (SMB) is the standard Windows file and printer sharing SMB/CIFS protocol, which was implemented for Linux and Unix machines to communicate with Windows-based.
If you use a mixed Windows & other operating systems environment, Samba can be quite useful protocol, to upload/download the files inside your home network plus for accessing the printers.
It is worth to mention, that Samba is not enough secure protocol. So it should not be exposed directly to the Internet e.g. using the port forwarding on your router etc.
Install Ubuntu Samba on your server
For the start, just connect to your Ubuntu server using SSH.
At the begging, you will have to update the repository package list & locations:
sudo apt-get update
After this, you will have to install Ubuntu Samba service itself by issuing the commands:
sudo apt-get install samba samba-common
Configure Ubuntu Samba
The next step is to create Samba share on your server.
That can be done by editing the Samba configuration file:
sudo nano /etc/samba/smb.conf
There is ‘Global Settings’ section, where you should see the variables ‘workgroup’ and ‘security’ (which is commented by default). They need to be adjusted to your needs and your network:
workgroup = YOUR_WORKGROUP_NAME ... security = USERNAME
You should add a new section at the end of the file for the directory to be shared.
The variables ‘comment’ and ‘path’ need to be modified according to your needs:
[share] comment = Home Ubuntu Media Server Share path = /home/user/Videos browsable = yes guest ok = yes read only = no create mask = 0755
Brief explanation of the variables:
- comment: a description of your share
- path: the directory (including the path) to share
- browsable: the shared directory can browsed by Windows clients using Windows Explorer
- guest ok: clients do not need to be authenticated by providing a password
- read only: set the permissions on the share to read only access
If you chosen path does not exist, you may create it using the comands:
sudo mkdir -p /home/user/Videos
Setting the permissions
As you could see previously, some Samba protocol permissions were setup in smb.conf file (create mask = 0755)
The Linux permissions for this share should be setup as well:
sudo chown nobody.nogroup /home/user/Videos
That will allow everyone who have an access to your network to read/write/modify/delete the files or folders on this share.
At the end, you have just to restart Ubuntu Samba service:
sudo restart smbd sudo restart nmbd
You can find more details on configuring Ubuntu Samba server on official Ubuntu documentation.