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.
Table of Contents
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
-Rberlaku 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
-aGmenjaga 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 & autentikasinmbd: 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.0menggunakan SMB moderniocharset=utf8mencegah 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.