Apa itu Samba
Untuk menyediakan printer dan berbagi file, Microsoft Windows menggunakan fasilitas yang dikenal sebagai SMB (Server Message Block) . Fasilitas yang sama ini terkadang dikenal sebagai NetBIOS atau LanManager . Berkat Andrew Tridgell dan lainnya, sistem Linux menyediakan dukungan untuk SMB melalui paket yang dikenal sebagai Samba. Seperti SMB, Samba memungkinkan Anda:
- Berbagi printer dan file di antara sistem Microsoft Windows, OS/2, Netware, dan Unix
- Buat server nama sederhana untuk mengidentifikasi sistem di jaringan area lokal Anda
- Cadangkan file PC ke sistem Linux dan pulihkan
- Mengatur pengguna dan sandi
Samba telah membuktikan keandalan dan kinerjanya yang tinggi di banyak organisasi. Rangkaian perangkat lunak Samba di Enterprise Linux adalah kumpulan program yang mengimplementasikan protokol Server Message Block (biasa disingkat SMB) untuk sistem UNIX.
Menginstal Samba
Di sistem Enterprise Linux, instal paket di bawah ini untuk memulai dengan Samba. Anda dapat mengunduh/menginstal paket-paket ini dari server yum menggunakan perintah “yum install”.
samba #### basic Samba packages samba-client #### samba client
Untuk menginstal paket-paket ini :
# yum install samba # yum install samba-client
Jika Anda menggunakan pengaturan direktori aktif, instal juga paket-paket di bawah ini.
# yum install samba-winbind # yum install samba-winbind-clients # yum install samba-winbind-krb5-locator
Di bawah ini adalah daftar paket yang akan diinstal setelah Anda menginstal paket-paket di atas.
samba-libs samba-winbind-krb5-locator samba-winbind-modules samba-vfs-glusterfs samba-winbind samba-client samba-common samba-winbind-clients samba
Mengonfigurasi pembagian Samba
Konfigurasi Samba biasanya berada di /etc/samba/smb.conf yang berisi semua parameter konfigurasi yang terkait dengan samba. Ikuti langkah-langkah yang diberikan di bawah ini untuk mengonfigurasi pembagian samba.
1. Agar share dapat diakses oleh pengguna tertentu, pertama-tama kita harus membuat pengguna (john) di server linux tempat share juga berada.
# useradd john
# passwd john Changing password for user john. New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Untuk menambahkan mengaktifkan pengguna Samba dan mengatur kata sandi, gunakan perintah “smbpasswd” dengan -a pilihan.
# smbpasswd -a john
3. Buat direktori untuk dibagikan atau Anda dapat menggunakan direktori yang ada. Juga atur izin penuh pada direktori.
# mkdir -p /path/to/share # chmod -R 777 /path/to/share
4. Selanjutnya, atur konteks SElinux pada share. Verifikasi apakah Anda dapat membuat file di bagikan.
# chcon -R -t samba_share_t /path/to/share # cd /path/to/share # echo test > testfile.txt
5. Edit file /etc/samba/smb.conf dan tambahkan pengaturan berbagi.
# vi /etc/samba/smb.conf [share_name] path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Mulai ulang layanan samba agar setelan di atas diterapkan.
# service smb restart
Pemecahan Masalah
Untuk mengetahui masalah dengan samba share, Anda dapat mencoba menonaktifkan layanan iptables dan mematikan SELinux. Pastikan untuk mengaktifkannya kembali setelah Anda menyelesaikan konflik.
# service iptables stop # setenforce 0
Verifikasi parameter samba menggunakan testparm
Untuk memverifikasi bahwa parameter sudah benar dalam file smb.conf atau untuk men-debug masalah konfigurasi, gunakan perintah testparm.
log
Untuk masalah debugging dengan Samba secara umum, file log log.smbd dan log.nmbd di bawah /var/log/samba direktori sangat berharga. Level log parameter di bagian global file smb.conf menentukan jumlah informasi detail yang ditulis Samba ke file log, dengan level 0 sebagai yang paling umum dan 10 yang paling detail. Setiap level logging berisi pesan dari level itu, selain pesan logging di bawahnya. Misalnya, logging level 5 berisi pesan dari level 5, ditambah pesan dari level 0 hingga 4.
# vi /etc/samba/smb.conf # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/%m.log debuglevel = 4