Belajar Samba - Instalasi & Konfigurasi Dasar
Episode 3 of 23

Belajar Samba - Instalasi & Konfigurasi Dasar

Episode ini memandu instalasi Samba di Ubuntu/Debian maupun RHEL family, mengaktifkan service smbd dan nmbd, lalu menulis konfigurasi dasar smb.conf: bagian [global] dengan workgroup, server string, dan security = user, serta bagian [share] dengan path, valid users, dan read only. Kalian juga memvalidasi konfigurasi dengan testparm.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

Setelah memahami arsitektur di episode 2, saatnya aksi nyata: memasang Samba dan membuatnya berjalan. Di episode 3 kita menginstall paket samba, mengaktifkan daemon smbd dan nmbd, menulis smb.conf dasar yang aman, dan — yang sering dilupakan — memvalidasi konfigurasi dengan testparm sebelum daemon membaca hasil edit. Kebiasaan "edit → testparm → reload" adalah disiplin yang akan menyelamatkan kalian sepanjang series ini.

Instalasi Paket Samba

Ubuntu/Debian

Install Samba di Ubuntu/Debian
sudo apt update
sudo apt install -y samba smbclient

Paket samba membawa smbd, nmbd, dan tool inti; smbclient kalian pakai untuk menguji share. Verifikasi versi:

Cek versi Samba
smbd --version

Untuk series ini targetnya Samba 4.24.x — misal Version 4.24.5. Jika distribusi menyediakan versi lebih tua, konsepnya tetap sama (episode 17 membahas perbedaan versi).

RHEL/Rocky/Alma

Install Samba di RHEL family
sudo dnf install -y samba samba-client

Nama service-nya sama (smb dan nmb adalah alias untuk smbd/nmbd). Jangan lupa siapkan firewall — kita urus lengkap di episode 13.

Mengaktifkan Service

smbd dan nmbd

Aktifkan dan mulai service
sudo systemctl enable --now smbd nmbd
sudo systemctl status smbd --no-pager

systemctl status smbd harus menampilkan active (running). Cek juga bahwa daemon mendengarkan port yang benar:

Cek port SMB
sudo ss -tlnp | grep -E "(139|445)"

445/tcp (SMB modern) dan 139/tcp (NetBIOS) harus muncul. Ada dua port karena smbd mendengarkan keduanya; kita bahas dampaknya terhadap keamanan di episode 13.

Konfigurasi Dasar smb.conf

Semua pengaturan "kepribadian server" ada di bagian [global]. Berikut titik awal yang wajar:

/etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   server string = %h server (Samba %v)
   security = user
   map to guest = never
   server min protocol = SMB2_10
   logging = file
   log file = /var/log/samba/log.%m
   max log size = 1024

Pembeda kunci di bagian ini:

  • workgroup = WORKGROUP: nama workgroup/NetBIOS default — klien di luar domain akan bergabung ke sini.
  • server string = %h server (Samba %v): deskripsi yang tampil di klien saat browsing; %v mengganti dengan versi Samba.
  • security = user: setiap koneksi harus diautentikasi dengan username/password Samba lokal — mode paling umum untuk file server mandiri.
  • map to guest = never: jangan turunkan akses anonim ke guest — pilihan aman default.
  • server min protocol = SMB2_10: tolak SMB1 sejak awal (konsisten dengan default 4.11+).
  • Blok logging/log file/max log size: log per-mesin klien (%m) ke /var/log/samba/ dengan rotasi otomatis — penting untuk episode 14 (audit).

Setiap folder yang ingin dibagikan adalah bagian baru. Ini contoh minimal yang benar:

/etc/samba/smb.conf — bagian share
[public]
   path = /srv/public
   browseable = yes
   read only = no
   valid users = arman
   comment = Berbagi file tim

Perhatikan polanya: path menunjuk direktori, browseable mengontrol visibilitas di daftar share, read only/writable menentukan akses tulis, dan valid users membatasi siapa yang boleh masuk. Interaksi antara opsi ini dan permission filesystem akan kita bedah tuntas di episode 4.

Validasi dengan testparm

Jangan Pernah Reload Tanpa Validasi

Setelah mengedit smb.conf, jalankan testparm — ia membaca file, melaporkan syntax yang salah, dan mencetak konfigurasi efektif:

Validasi smb.conf
testparm

Output akhirnya berisi konfigurasi lengkap seperti yang Samba akan pakai. Jika ada baris yang tidak dikenal, testparm menampilkan peringatan Unknown parameter — perbaiki sebelum lanjut. Bandingkan juga dengan versi tersembunyi untuk memastikan tidak ada syntax typo:

Cek perbedaan konfigurasi
testparm -s > /tmp/effective.conf && diff /etc/samba/smb.conf /tmp/effective.conf

diff di atas menunjukkan bagian mana yang diubah Samba dari default — misal daemon menambahkan parameter bawaan. Ini cara cepat melihat "apakah file saya valid" tanpa menebak.

Reload Konfigurasi

Setelah testparm bersih, muat ulang tanpa restart penuh:

Reload konfigurasi Samba
sudo smbcontrol all reload-config

smbcontrol all reload-config menyuruh semua daemon membaca ulang file — jauh lebih halus daripada systemctl restart, karena koneksi klien yang sedang aktif tidak diputus.

Warning

Kesalahan paling umum pemula: mengedit smb.conf, lalu langsung systemctl restart smbd tanpa testparm. Satu baris salah syntax membuat daemon gagal start — dan jika di sistem jarak jauh, kalian kehilangan akses SMB sama sekali. Urutan yang benar selalu: edit → testparmsmbcontrol all reload-config.

Verifikasi Share Aktif

Cek bahwa share benar-benar terpublikasi:

List share di localhost
smbclient -L localhost -U arman

Kalian akan melihat public dalam daftar share bersama deskripsi server string. Kalau map to guest = never aktif dan user belum didaftarkan di Samba, autentikasi akan ditolak — itulah tanda kita lanjut ke episode 5 (user management). Untuk sekarang, cukup pastikan share muncul di daftar.

Penutup

Inti yang harus dibawa pulang:

  • Install dengan apt install samba (Debian/Ubuntu) atau dnf install samba (RHEL family); target versi 4.24.x.
  • Aktifkan smbd dan nmbd via systemd; pastikan port 139/445 terbuka.
  • [global] mengatur identitas server: workgroup, server string, security = user.
  • Bagian per-share punya path, browseable, read only/writable, dan valid users.
  • Selalu validasi dengan testparm lalu reload via smbcontrol all reload-config.

Di episode 4 selanjutnya kita akan mendalami share dasar & permission: membangun [data] dengan path=/srv/data, force user/force group, lalu memetakan interaksi antara permission filesystem dan share options (valid users, write list). Di sinilah kebanyakan misteri "kok nggak bisa nulis?" terjawab.