Setup Samba (SMB) Share
Install samba using distro’s package manager. Enable in systemctl.
sudo dnf install samba
sudo systemctl enable smb --nowSetup Firewall
- Create a UFW application profile for Samba at
/etc/ufw/applications.d/samba
[Samba]
title=Samba File Server
description=The Samba software suite is a collection of programs that implements the SMB/CIFS protocol for unix systems, allowing you to serve files and printers to Windows, NT, OS/2 and DOS clients. This protocol is sometimes also referred to as the LanManager or NetBIOS protocol.
ports=137,138/udp|139,445/tcp
- Enable Samba traffic from selected subnets.
sudo ufw allow from $SUBNET to any app SambaSetup Samba User
sudo smbpasswd -a $USERCreate and Designate a Directory to Share
mkdir ~/share
# SELinux rules. Replace "jack" with the name of your user
sudo semanage fcontext --add --type "samba_share_t" "/home/jack/share(/.*)?"
sudo restorecon -R ~/shareUpdate /etc/samba/smb.conf
Note: update
/home/jack/shareas necessary.
[share]
comment = My Share
path = /home/jack/share
writeable = yes
browseable = yes
public = yes
create mask = 0644
directory mask = 0755
write list = user
Restart Samba Service
sudo systemctl restart smbMounting the Share with Permissions
sudo mount -t cifs \
-o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) \
//server-address/sharename \
/mount/path/on/machineMounting the Share Automatically with /etc/fstab
- Create a credentials file for the Samba share in
~/.smb
user=myuser
password=mypassword
domain=WORKGROUP- Create a backup of
/etc/fstab
sudo cp /etc/fstab /etc/fstab.bak- Append the following to
/etc/fstab
//ip/sharename/ /mount/path cifs credentials=/home/myuser/.smb,uid=userid,gid=groupid 0 0
- Apply the changes to
/etc/fstab
sudo systemctl daemon-reload
sudo mount -a