Hostxpeed
Login Get Started →
Server Management

How to Set Up Samba Share

6 min read
22 views
Jun 10, 2026

Prerequisites

Before setting up Samba, make sure you have:

  • SSH access to your VPS
  • Root or sudo privileges
  • Open firewall ports (139, 445)

Step 1: Install Samba

Connect to your VPS:

ssh hxroot@YOUR_SERVER_IP -p 22
sudo apt update
sudo apt install samba -y

Step 2: Create Shared Directory

sudo mkdir -p /srv/samba/shared
sudo chmod 777 /srv/samba/shared

For restricted access:

sudo mkdir -p /srv/samba/private
sudo chown nobody:nogroup /srv/samba/private
sudo chmod 755 /srv/samba/private

Step 3: Configure Samba

Backup original config:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Edit config:

sudo nano /etc/samba/smb.conf

Add at the end:

[shared]
   comment = Shared Folder
   path = /srv/samba/shared
   browsable = yes
   writable = yes
   guest ok = yes
   read only = no
   create mask = 0777
   directory mask = 0777

[private]
   comment = Private Folder
   path = /srv/samba/private
   browsable = yes
   writable = yes
   guest ok = no
   read only = no
   valid users = smbuser

Step 4: Create Samba User

First create system user:

sudo useradd -M -s /usr/sbin/nologin smbuser

Set Samba password:

sudo smbpasswd -a smbuser

Enable the user:

sudo smbpasswd -e smbuser

Step 5: Restart Samba

sudo systemctl restart smbd
sudo systemctl enable smbd

Step 6: Configure Firewall

sudo ufw allow samba

Or explicitly:

sudo ufw allow 139/tcp
sudo ufw allow 445/tcp

Step 7: Connect from Windows

Open File Explorer and enter:

\YOUR_VPS_IPshared

For private share, use credentials: smbuser / password.

Connect from Linux Client

Install cifs-utils:

sudo apt install cifs-utils -y

Mount Samba share:

sudo mount -t cifs //SERVER_IP/shared /mnt/smb -o username=smbuser,password=yourpass

Set Custom Samba User Home Directory

If you want each user to have their own share:

[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   valid users = %S

Check Samba Status

sudo smbstatus

View Samba Logs

sudo tail -f /var/log/samba/log.smbd

✅ Samba share configured. Windows/Linux clients can now access shared files.

Was this article helpful?