Konfigurasi Samba Server di Linux untuk Berbagi File dengan Aman

26 Jan 2026
By Rosyid Majid

Samba file server on linux secure file sharing

Samba adalah implementasi open-source dari protokol SMB/CIFS yang memungkinkan berbagi file antara server Linux dengan klien Windows, Linux, maupun macOS.

Artikel ini tidak hanya membahas cara konfigurasi Samba, tetapi juga fungsi dari setiap perintah dan directive konfigurasi, sehingga cocok untuk pemula maupun system administrator.

1. Instalasi Samba

Pertama, perbarui repository dan install paket Samba yang dibutuhkan:

sudo apt update
sudo apt install samba samba-common
  • samba: menginstal service utama Samba (smbd, nmbd)
  • samba-common: menyediakan file konfigurasi dan utilitas bersama

Verifikasi instalasi Samba:

smbd --version
  • Memastikan Samba daemon terpasang dengan benar
  • Menampilkan versi Samba yang terinstal

2. Membuat Direktori Share

Buat direktori khusus untuk file sharing:

sudo mkdir -p /srv/share
  • Membuat direktori /srv/share
  • Opsi -p memastikan direktori parent ikut dibuat jika belum ada
sudo chown -R $USER:$USER /srv/share
  • Mengubah kepemilikan direktori ke user saat ini
  • -R berlaku secara rekursif
sudo chmod -R 775 /srv/share
  • Mengatur permission:
    • Owner & group: read, write, execute
    • Others: read & execute
  • Diperlukan agar user Samba bisa mengakses direktori

Catatan: /srv direkomendasikan untuk data layanan sesuai standar filesystem Linux.

3. Konfigurasi Samba

Edit file konfigurasi utama Samba:

sudo nano /etc/samba/smb.conf
  • Membuka file konfigurasi utama Samba
  • Semua aturan akses dan share didefinisikan di sini

Tambahkan konfigurasi berikut di bagian bawah file:

[Share-Umum]
   comment = Public Shared Folder
   path = /srv/share
   browseable = yes
   read only = no
   writable = yes
   create mask = 0664
   directory mask = 0775
   valid users = @samba

Penjelasan Konfigurasi Share

[Share-Umum]
  • Nama share yang akan muncul di client
comment = Public Shared Folder
  • Deskripsi opsional untuk mempermudah identifikasi share
path = /srv/share
  • Lokasi direktori di filesystem Linux
browseable = yes
  • Share akan terlihat saat client melakukan browsing
  • Jika no, harus diakses manual
read only = no
  • Mengizinkan akses tulis ke share
writable = yes
  • Memastikan share bisa ditulis
create mask = 0664
  • Permission default untuk file baru
directory mask = 0775
  • Permission default untuk direktori baru
valid users = @samba
  • Membatasi akses hanya untuk user dalam grup samba
  • Meningkatkan keamanan

4. Membuat User Samba

Autentikasi Samba berbasis user Linux dengan password terpisah.

sudo adduser username
  • Membuat user Linux
sudo groupadd samba
  • Membuat grup khusus Samba
sudo usermod -aG samba username
  • Menambahkan user ke grup Samba
  • -aG menjaga grup lain tetap ada
sudo smbpasswd -a username
  • Membuat password Samba
sudo smbpasswd -e username
  • Mengaktifkan akun Samba

5. Restart dan Enable Service Samba

  • Terapkan konfigurasi dengan restart service:
sudo systemctl restart smbd nmbd
  • smbd: file sharing & autentikasi
  • nmbd: NetBIOS name resolution
sudo systemctl enable smbd nmbd
  • Menjalankan Samba otomatis saat boot

6. Validasi Konfigurasi

Cek sintaks konfigurasi Samba:

testparm
  • Mengecek error konfigurasi
  • Menampilkan konfigurasi aktif

7. Akses Share dari Windows

Buka File Explorer dan akses:

\\IP_Server

atau langsung:

\\IP_Server\Share-Umum
  • Akan muncul prompt login user Samba

8. Akses Share dari Linux

Mount Manual

sudo mount -t cifs //IP_Server/Share-Umum /mnt/smb -o username=username

Mount Permanen (/etc/fstab)

# SMB Mount
//IP_Server/Share-Umum  /mnt/smb  cifs  username=username,password=YOUR_PASSWORD,iocharset=utf8,vers=3.0  0  0
  • vers=3.0 menggunakan SMB modern
  • iocharset=utf8 mencegah masalah encoding

9. Mengatasi Masalah Permission

sudo chmod -R 0775 /srv/share
sudo chown -R :samba /srv/share
  • Menyamakan permission filesystem dengan aturan Samba

10. Perintah Troubleshooting

systemctl status smbd
sudo netstat -tulnp | grep smb
sudo smbclient -L localhost -U username

Best Practices

  • Nonaktifkan SMB1 (tidak aman)
  • Gunakan SMB2 atau SMB3
  • Selalu selaraskan permission Linux & Samba
  • Hindari data sinkron intensif di SMB

Kesimpulan

Dengan memahami setiap perintah dan konfigurasi, masalah umum Samba seperti permission dan autentikasi dapat dihindari. Dengan konfigurasi yang tepat, Samba tetap menjadi solusi file sharing yang stabil dan aman di lingkungan Linux.