Samba Windows File Sharing
Introduction¶
If you have ever dealt with Windows systems, you are likely aware of SMB (Server Message Block) for file sharing. If you are a seasoned Linux administrator, chances are that you have heard of Samba, but if you have not, Samba is the de facto open-source implementation of SMB to enable file sharing and Active Directory access from Linux machines to Windows networks.
Installation¶
You need to install Samba using dnf
:
dnf install -y samba
Setting up a share¶
First, make a directory you want to share with Windows clients:
mkdir /var/store
Next, set the SELinux labels on the /var/store
directory:
semanage fcontext -a -t samba_share_t "/var/store(/.*)?"
restorecon -Rv /var/store
Replace /var/store
with the directory to be shared.
Now configure Samba:
vi /etc/samba/smb.conf
In the smb.conf
file, navigate to the bottom and insert the following:
[Share]
path = /var/store
browseable = yes
writable = no
read only = yes
guest ok = yes
If you are unaware of the options above, they are:
path
is the directory we are sharing. Set this to your respective directory (/var/store
in our case).browseable
is to allow clients to browsing access. If you want to disallow browsing set this tono
.writable
is to allow clients writing access. If you want to allow write access, set this toyes
.read only
marks the share as read-only. If you want to allow write or execute access, set this tono
.guest ok
is to allow non-authenticated users access to our share. If you want to deny guests, set this tono
.
o test the configuration, you can run the following:
testparm
Enabling Samba¶
Once the configuration tests OK, open the Samba port in firewall-cmd
:
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
Next, you can enable Samba:
systemctl enable --now smb nmb
Accessing the Samba share¶
You can access the Samba share using the following URI (Note: replace SERVER_IP
with the IP address or FQDN of your machine running Samba):
- Windows:
\\SERVER_IP
- Linux or Mac:
smb://SERVER_IP
SERVER_IP
on the author's home network is 172.20.0.100
, so while the instructions vary based on an operating system, the author will access the new share from their Fedora 40 notebook:
All files accessible on the server are also available on client machines.
Conclusion¶
While SMB has a reputation for being Microsoft-centric, it is an industry standard, and your Samba share can be accessed from Linux, Mac, BSD, and even mobile devices. So congratulations, you are sharing your server's files now!
Author: Neel Chauhan
Contributors: Steven Spencer, Ganna Zhyrnova