====== Systems - Media Server - Setup SMB (Samba) Shares ======
To share directories and files between this Linux server and other devices.
----
===== Install Samba =====
sudo apt install samba
----
===== Configure the Samba Share =====
Edit the Samba configuration file, **/etc/samba/smb.conf**, and add the following section at the end of the file to define the media share:
[Media]
path = /mnt/media
browseable = yes
read only = no
guest ok = no
valid users = peter
**NOTE:** The config is:
* **[Media]** - This is the name of the share.
* When accessing Samba from a client device, this will appear as the share name in the network.
* **path = /mnt/media** - This specifies the directory on the server that will be shared.
* In this example, the directory /mnt/media is being shared.
* **browseable = yes** - Setting this to yes allows the share to be visible when browsing the network.
* If set to no, users would need to know the share name to access it manually.
* **read only = no** - This allows users to write (add, modify, or delete) files in the share.
* If set to yes, the share would be read-only, preventing users from making changes.
* **guest ok = no** - This prevents unauthenticated users (guests) from accessing the share.
* Only users with valid credentials will be allowed access.
* **valid users = peter** - This restricts access to the share to the specified username.
* This is the username set up on the Ubuntu server.
* This ensures only authorized users can access the share.
----
===== Test the Samba Configuration =====
testparm
----
===== Create a Samba User =====
Add the user on the server user as a Samba user:
sudo smbpasswd -a peter
**NOTE:** Follow the prompts to create a password for the Samba user.
Samba does not use the system account password, which is why it needs its own password.
* **-a** - This flag adds the existing linux user to the Samba user database.
* This command searches for the username in the Unix user database and adds it to the Samba user database.
* If not found, then the “smbpasswd” command will create as well as add the user to the Samba group.
----
===== Restart Samba Service =====
Restart the Samba service to apply the changes:
sudo systemctl restart smbd
**NOTE:** Remember to update any firewall rules to allow Samba traffic
----
===== Check the status of the service to confirm that Samba is working fine =====
sudo systemctl status smbd
----