Operations 5 min read

How to Install and Configure Samba on Linux

This step‑by‑step guide explains how to install Samba, enable and start the service, create a shared directory, edit the smb.conf configuration, load the settings, add a user password, test the share, and disable the firewall on a Linux system.

Practical DevOps Architecture
Practical DevOps Architecture
Practical DevOps Architecture
How to Install and Configure Samba on Linux

This guide demonstrates the complete process of installing and configuring Samba on a Linux server.

1. Install Samba and its client package:

# yum install samba samba-client -y

2. Enable the Samba service to start at boot:

# systemctl enable smb.service

ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'

3. Verify that the service is enabled:

# systemctl status smb.service

The output should show the service loaded and enabled, though it may be inactive until started.

4. Start the Samba service:

# systemctl start smb.service

# service smb start

5. Create a directory to be shared and a test file:

mkdir -p /share/image

touch /share/image/2.txt

6. Edit the Samba configuration file ( smb.conf ) located in /etc/samba/ . You can refer to smb.conf.example for a template, then add sections such as:

[global]

workgroup = MYGROUP

server string = Samba Server Version %v

log file = /var/log/samba/log.%m

max log size = 50

security = user

passdb backend = tdbsam

load printers = yes

cups options = raw

Define share definitions, for example:

[homes]

comment = Home Directories

browseable = no

writable = yes

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes

[image]

path = /share/image

public = no

writable = yes

[root]

path = /var/samba

writeable = yes

browseable = yes

guest ok = yes

7. Test the configuration for syntax errors:

# testparm

The command will load the configuration and list each processed section.

8. Add a Samba password for a user (e.g., root):

# smbpasswd -a root

9. Verify the share by creating a file in the shared directory:

# echo "你好" > /share/image/2.txt

10. Disable the firewall to allow Samba traffic (or configure it appropriately):

# systemctl stop firewalld.service

# firewall-cmd --state

The command should return not running .

configurationlinuxSystem AdministrationFile SharingSamba
Practical DevOps Architecture
Written by

Practical DevOps Architecture

Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.