Episode ini membekali kalian toolkit diagnostik: testparm, smbclient -L, smbstatus, net ads testjoin, dan samba-tool domain info, plus debugging dengan log level. Kalian juga mempelajari empat kasus umum yang paling sering menghantui — DNS, time skew, permission, dan SELinux/AppArmor — beserta urutan debug yang benar.

Sejauh ini kalian membangun, mengamankan, dan melindungi. Episode 16 adalah episode "hidup sebagai administrator": saat semuanya tidak bekerja. Samba yang kompleks — file, autentikasi, DNS, permission, SELinux — menghasilkan error yang membingungkan bila ditangani tanpa metode. Di sini kalian mendapat toolkit diagnostik dan urutan debug yang menuntun dari gejala ke akar masalah, bukan menebak-nebak.
Ini langkah pertama dalam setiap insiden. Konfigurasi yang salah syntax membuat semua gejala lainnya menyesatkan:
testparm -s | lesstestparm -s mencetak konfigurasi yang benar-benar dipakai (bukan yang kalian pikir kalian tulis). Perbedaan antara file dan output adalah bagian yang dipengaruhi default atau baris yang salah — sumber klasik "kok beda?"
smbclient adalah penguji cepat apakah server bisa dijangkau dan share terpublikasi:
smbclient -L //fileserver -U arman -m SMB3-m SMB3 memaksa dialek tertentu — kalau koneksi gagal hanya dengan SMB3, ada masalah protocol negotiation; coba tanpa -m untuk melihat dialek yang disepakati (menyingkap server min/max protocol yang salah).
Saat klien mengeluh "lambat" atau "tidak bisa buka file", lihat sisi server:
smbstatus
smbstatus -L # share yang sedang diakses
smbstatus -b # detail sesismbstatus menampilkan siapa yang terhubung, file apa yang terbuka, dan lock apa yang dipegang — jawaban instan untuk "file terkunci oleh siapa?".
Untuk member domain (episode 10), kepercayaan mesin ke DC bisa rusak diam-diam:
net ads testjoinSuccess berarti kepercayaan valid; NT_STATUS_* berarti ada masalah — biasanya password komputer (machine account) tidak sinkron atau DNS salah. Perbaiki dengan net ads join ulang atau net ads reset-account.
Untuk environment AD, cek koneksi dan kesehatan domain dari sisi DC:
sudo samba-tool domain info 127.0.0.1
sudo samba-tool domain level showdomain info menampilkan nama domain, forest, dan level fungsional — tanda pertama bahwa daemon samba DC hidup dan DNS internal berfungsi.
Gejala memberi arah, log memberi jawaban. Naikkan verbositas untuk kategori yang relevan:
[global]
log level = 3
log file = /var/log/samba/log.%m
max log size = 1024log level = 3 menampilkan detail koneksi, negosiasi dialek, dan keputusan auth. Level 1 default hanya error; level 10 membanjiri. Uji dengan koneksi dari satu klien lalu baca log khusus klien itu:
sudo tail -100 /var/log/samba/log.budi-laptopTip
Prinsip golden rule troubleshooting: ubah satu variabel, uji, baca log. Menyalakan log level = 10 lalu mengubah banyak konfigurasi sekaligus membuat kalian tidak tahu mana yang menyelesaikan masalah. Naikkan level, reproduksi masalah, turunkan level, perbaiki konfigurasi — metodis, bukan panik.
Gejala: net ads join gagal, klien Windows "Path not found", DC tidak ditemukan. Penyebab hampir selalu DNS — SRV record AD hilang atau klien memakai DNS salah. Diagnosa:
host -t SRV _ldap._tcp.lab.local
dig +short SRV _kerberos._udp.lab.localPerbaikan: arahkan klien ke DNS yang benar (DC untuk AD, atau forwarder yang menunjuk DC). Pada standalone, pastikan fileserver ter-resolve ke IP yang benar di /etc/hosts atau DNS LAN.
Gejala: login domain gagal dengan KDC has no support for encryption type atau Clock skew too great. Kerberos menolak koneksi bila selisih jam melebihi toleransi (umumnya 5 menit). Cek:
date; ssh fileserver date
timedatectlPerbaikan: aktifkan NTP/chrony di semua host (episode 0). Waktu yang melenceng beberapa detik pun kadang cukup untuk memicu error — jangan disepelekan.
Gejala: "Access denied" padahal konfigurasi terlihat benar. Ingat dua lapisan permission (episode 4). Uji langsung di filesystem:
sudo -u arman touch /srv/data/test
getfacl /srv/dataJika sudo -u arman touch gagal → masalah filesystem (mode, owner, ACL), bukan Samba. Jika berhasil tapi klien masih ditolak → masalah share options (valid users, write list).
Gejala: smbd berjalan tapi share tidak bisa diakses, atau muncul Permission denied di log kernel meski permission filesystem benar. Distribusi dengan SELinux (RHEL family) dan AppArmor (Ubuntu/Debian) mengunci Samba dengan kebijakan sendiri. Cek dan perbaiki:
sudo ausearch -m avc -ts recent | grep smbd
sudo setsebool -P samba_enable_home_dirs on
sudo restorecon -Rv /srv/datasudo aa-status | grep smbd
sudo journalctl | grep -i "apparmor.*smbd"Bila kebijakan memblokir akses ke direktori share kalian, tambahkan izin di profil atau gunakan restorecon/relabel yang benar. Jangan matikan SELinux/AppArmor secara global — sesuaikan kebijakannya (ini detail di series learn-selinux dan learn-apparmor).
Important
Kesalahan paling umum saat menangani insiden: langsung menyerang konfigurasi Samba sebelum mengecek lapisan bawah (network → DNS → time → filesystem → MAC). Buat checklist: ping, dig/host, date, sudo -u <user> touch, lalu baru testparm dan log. 80% kasus "Samba bermasalah" ternyata ada di salah satu lapisan ini — dan memahaminya membuat kalian terlihat seperti senior di mata tim.
Inti yang harus dibawa pulang:
testparm membuktikan apa yang benar-benar dikonfigurasi; smbclient -L menguji koneksi dan visibilitas.smbstatus menjawab "siapa yang mengunci file"; net ads testjoin dan samba-tool domain info memeriksa kesehatan AD.log level = 3 menampilkan detail tanpa membanjiri; naikkan per-kategori, bukan membabi buta.Di episode 17 selanjutnya kita akan membahas Samba 4.24 & fitur terbaru — perbaikan AD DC, enhancement SMB3, dan keamanan pada series 4.24 (rilis 4.24.0 Maret 2026, current 4.24.5 Juli 2026), plus peta riwayat 4.20 sampai 4.23 dan dukungan LTS distribusi. Kalian akan bisa menjawab "Samba versi berapa yang saya pakai dan mengapa?"