This guide walks through configuring a Samba server on one VM (e.g. 10.0.0.65) and mounting its share from another (e.g. Hyperion). It assumes both machines run Linux and are on the same subnet.
sudo apt update
sudo apt install samba
sudo useradd -M -s /usr/sbin/nologin services
sudo smbpasswd -a services
Set a password (e.g. gameover) when prompted.
Avoid using /home/* due to permission restrictions. Use /srv/samba/develop:
sudo mkdir -p /srv/samba/develop
sudo chown -R services:services /srv/samba/develop
sudo chmod -R 755 /srv/samba/develop
Update or append:
[global]
workgroup = WORKGROUP
server role = standalone server
map to guest = Never
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
[develop]
path = /srv/samba/develop
browseable = yes
writable = yes
read only = no
guest ok = no
valid users = services
Then validate:
testparm
sudo systemctl restart smbd
From the client VM:
smbclient //10.0.0.65/develop -U services
ls
sudo nano /root/smbcred_ai
Contents:
username=services
password=gameover
Secure it
sudo chmod 600 /root/smbcred_ai
sudo mount -t cifs //10.0.0.65/develop /home/vheyn/projects/homechoice \
-o credentials=/root/smbcred_ai,vers=3.0,uid=1000,gid=1000
If it fails with Permission denied, try:
sudo mount -t cifs //10.0.0.65/develop /home/vheyn/projects/homechoice \
-o username=services,password=gameover,vers=2.1,uid=1000,gid=1000,sec=ntlm
Add to /etc/fstab:
//10.0.0.65/develop /home/vheyn/projects/homechoice cifs credentials=/root/smbcred_ai,vers=3.0,uid=1000,gid=1000,_netdev 0 0
Test:
sudo mount -a
Avoid /home/* paths — use /srv/samba/* instead.
Ensure correct ownership: services:services on the share directory.
Use map to guest = Never to prevent silent guest fallback.
Check Samba logs: sudo tail -n 50 /var/log/samba/log.smbd
Use smbclient to verify credentials before mounting.
Avoid setting domain= in mount options — omit it entirely for standalone servers.