Monday, December 1, 2014

Cara Konfigurasi Samba Server

Cara Konfigurasi Samba Server 

Dalam membuat konfigurasi Samba server ini sangat bergantung pada 
kebutuhan dan arsitektur dari jaringan komputer kita. Misalkan Samba server 
ini bisa dikonfigurasikan hanya terkoneksi satu klien atau bahkan terkoneksi 
dengan 1000 klien. File dokumentasi konfigurasi lengkap Samba server ini
dapat didownload di internet dengan alamat: 
http://www.openna.com/books/floppy.tgz. Untuk menjalankan Samba server, 
dibutuhkan file-file berikut ini dan harus dibuat atau dikopi pada direktori-
direktori yang cocok pada server kita. 

4.1. Konfigurasi file smb.conf 

File konfigurasi utama untuk Samba server ini adalah 
/usr/local/samba/lib/smb.conf , dimana kita dapat menentukan direktori yang 
ingin kita akses dari komputer Windows, IP address mana yang diijinkan, dsb. 
Pada file ini juga terdapat banyak sekali option (pilihan). Untuk informasi lebih 
lanjut tentang berbagai setting dan parameter dapat dilihat di dokumentasi 
Samba. 

Konfigurasi yang akan kita bahas di bawah adalah file konfigurasi minimal Samba 
yang mendukung password terenkripsi. Kita harus terlebih dahulu mengkopikan 
file konfigurasi default lalu mengeditnya sesuai dengan yang kita inginkan :

# cd /usr/local/samba/examples 

# cp smb.conf.default /usr/local/samba/lib 

# cd /usr/local/samba/lib 

# mv smb.conf.default smb.conf 

# pico smb.conf 

workgroup= SMKTI 

Isilah dengan workgroup server kita, yang akan tampak saat diminta oleh klien. 
Klien dan server harus mempunyai workgroup yang sama. 

server string= Samba Server 

Option ini akan menampilkan string yang akan ditampilkan pada user dalam 
comment box print manager, atau pada koneksi IPC pada bagian net view pada 
komputer Windows. 

encrypted password= True 

Jika option ini diset True , Samba akan menggunakan password terenkripsi 
bukan menggunakan password berbentuk teks sederhana saat berhubungan 
dengan klien. Password terenkripsi ini tidak akan bisa dideteksi dengan sniffer. 
Untuk keamanan sebaiknya option ini diset True . 

security= user 

Bila option security ini diisi dengan user , klien harus masuk (log-on) dengan 
username dan password yang benar, jika tidak, koneksi akan diputus (connection 
refused). Hal ini berarti bahwa username dan password yang benar harus terdapat 
pada file /etc/password sistem Linux dan file /etc/smbpasswd pada Samba 
server, jika tidak koneksi dari klien akan gagal. 

smb passwd file= /etc/smbpasswd 

Option ini menentukan letak file smbpasswd terenkripsi. File smbpasswd ini 
merupakan kopi dari file /etc/passwd sistem Linux yang berisi username dan 
password yang valid agar bisa terkoneksi dengan Samba server. Samba server 
akan membaca file ini (smbpasswd) saat ada permintaan koneksi. 

log file= /var/log/samba/log.%m 

Option ini menyatakan letak file log yang dicatat Samba. Dengan ekstensi %m kita 
dapat membuat file log yang terpisah untuk masing-masing user atau mesin yang 
log-on pada Samba server. 

socket options= IPTOS_LOWDELAY TCP_NODELAY 

Dengan option ini kita dapat menentukan paramater-parameter konfigurasi Samba 
untuk meningkatkan performansi Samba. Secara default, koneksi untuk jaringan 
lokal dibuat maksimal, dan meningkatkan performansi Samba server dalam 
transfer file. 

domain master= Yes 

Option ini untuk mengeset Samba server daemon nmbd sebagai domain master 
browser untuk group yang telah ditentukan. Option ini biasanya harus diset Yes 
hanya dalam satu Samba server untuk keseluruhan Samba server yang lain pada 
workgroup dan jaringan yang sama. 

local master= Yes 

Dengan option di atas, Samba server daemon, nmbd, akan mencoba untuk 
menjadi domain master browser pada workgroup yang telah ditentukan. 
preferred master= Yes 

Option preferred master akan menentukan dan mengontrol jika nmbd dibuat 
sebagai master browser untuk workgroup yang bersangkutan. 

os level= 65 

Dengan mengatur nilai os level, nmbd dapat menjadi master browser lokal untuk 
workgroup pada daerah broadcast lokal. Jika terdapat NT server pada jaringan 
kita, dan kita ingin agar Samba server Linux menjadi browser lokal untuk 
workgroup pada broadcast lokal maka option di atas harus diisi 65. Ingat option 
ini hanya untuk satu Linux Samba server. 

dns proxy= No 

Bila diset yes , Samba server daemon nmbd ketika menjadi sebuah WINS 
server dan nama Net BIOS belum teregistrasi, maka ia harus memperlakukan 
nama Net BIOS kata demi kata sebagai nama DNS. Jika kita belum pernah 
mengkonfigurasikan Samba sebagai WINS Server, kita tidak usah membuat option 
ini Yes . Dengan memilih Yes juga akan dapat mengurangi performansi Samba. 

name resolve order= lmhosts host bcast 

Option ini menyatakan nama servis yang dipakai untuk mengubah hostname ke IP 
address. Pilihan di atas akan menyebabkan file lmhosts lokal Samba akan dituju 
terlebih dahulu. 

bind interfaces only= True 

Jika option ini diset True , kita dapat membatasi interface-interface yang 
melayani permintaan smb . Sebaiknya option ini diset demikian untuk keamanan. 
interfaces= eth0 192.168.1.1 
Option di atas berguna untuk menentukan jenis interface yang digunakan Samba 
server saat digunakan browsing dan registrasi nama, pada contoh di atas yakni 
eth0 dengan IP address 192.168.1.1. Defaultnya, Samba akan mengecek semua 
device pada kernel. 

hosts deny= ALL 

Kita dapat menentukan host-host yang tidak boleh mengakses Samba. Secara 
default kita melarang akses dari seluruh host, dan mengijinkan akses untuk host-
host tertentu yang didefinisikan pada hosts allow di bawah ini. 

hosts allow= 192.168.1.4 127.0.0.1 

Host-host yang diijinkan untuk mengakses Samba server didefinisikan pada bagian 
ini, pada contoh di atas kita mengijinkan host dengan IP 192.168.1.4 dan 
localhost 127.0.0.1. 

debug level= 1 

Di sini kita dapat menentukan level log pada file smb.conf . Sebaiknya debug 
level ini tidak lebih dari 2, karena server akan log file yang tidak perlu setelah 
melakukan operasi sehingga akan menurunkan performansi. 

create mask= 0644 

Option create mask akan menset permisi-permisi yang penting yakni bila terjadi 
mapping dari DOS ke permisi UNIX. Jika dibuat 0644, semua file yang dibuat atau 
dikopi dari WINDOWS ke sistem UNIX akan mempunya permisi 0644 secara 
default (untuk lebih jelasnya dibahas pada bagian sistem opersai Linux). 

directory mask= 0755 

Mirip seperti di atas, hanya ini berlaku untuk semua direktori yang dikopi atau 
dibuat dari Windows ke sistem UNIX akan mempunyai permisi default 0755. 

level2 oplocks= True 

Jika option ini dibuat True , akan meningkatkan keandalan file-file akses yang 
tidak umum ditulis seperti file-file aplikasi .EXE. 

read raw= no 

Ini berguna untuk menentukan apakah Samba server akan mendukung 
permintaan raw read SMB saat mentransfer data pada klien. Agar mapping 
memory lebih efektif, sebaiknya option ini dibuat no .

write cache size= 262144 

Option ini akan membuat Samba meningkatkan keandalan sistem jika terjadi 
kemacetan disk subsystem. Nilai option ini dinyatakan dalam byte (262144=256k) 
comment= Temporary File Space 

Option ini untuk menyatakan komentar yang akan terlihat saat ada permintaan 
klien ke server. 

path= /tmp 

Kita dapat menentukan direktori mana user service ini diberikan akses. 

read only= No 

Maksud option di atas adalah kita dapat menentukan apakah user hanya dapat 
membaca file atau tidak. Jika diisi No user tidak hanya dapat mebaca file saja. 

valid user= admin 

Option ini berisi daftar user yang diijinkan login. Pada contoh di atas user admin 
diijinkan untuk akses. 
invalid users= root bin daemon nobody named sys tty disk mem kmem users 
Option invalid users berisi daftar yang tidak diijinkan login yang biasanya user 
paranoid . Sebenarnya hal ini hanya untuk memastikan setting yang tidak benar 
dan dapat membahayakan dari segi keamanan 

4.2. Konfigurasi file /etc/Imhosts 

File /etc/lmhosts adalah file untuk memetakan nama Net BIOS Samba ke IP 

address. Format file ini mirip /etc/hosts , tapi komponen dari hostname harus 

sesuai dengan format penamaan Net BIOS. Pertama-tama kita harus membuat file 

/etc/lmhosts ini. 

# touch /etc/lmhosts 

Pada file ini, tambahkan host-host klien sbb: # pico /etc/lmhosts 

127.0.0.1 Localhost 192.168.1.1 smkti1 192.168.1.2 smkti2 192.168.1.3 smkti3 

Teruskan pengisian file di atas untuk semua hosts yang ada dalam network kita. 

4.3. Konfigurasi file /etc/pam.d/samba 

File ini berguna untuk menjalankan autentikasi pam (untuk lebih jelasnya dapat 

dilihat pada bagian security). Lakukan perintah berikut ini : 

# touch /etc/pam.d/samba 

# pico /etc/pam.d/samba 

Tambahkan baris-baris berikut ini: 






Auth required /lib/security/pam_pwdb.so nullok shadow 

Account required /lib/security/pam_pwdb.so 

4.4. Konfigurasi file /etc/logrotate.d/samba 

File konfigurasi ini akan menampilkan file-file log tiap minggu secara otomatis. 

# touch /etc/logrotate.d/samba 

Tambahkan baris-baris berikut ini : 

/var/log/samba/log.nmb { 

notifempty 

missingok 

prostrotate 

/usr/bin/killall HUP nmbd 

endrotate 


/var/log/samba/log.smb { 

notifempty 

missingok 

postrotate 

/usr/bin/killall HUP smbd 

endotrate 


4.5. Membuat password Clien Samba terenkripsi 

File /etc/smbpasswd adalah file password Samba yang terenkripsi. File ini berisi 

username, UID, password terenkripsi masing-masing user yang dapat mengakses 

Samba. Jika seorang user tidak terdaftar dalam file ini, maka ia tidak dapat 

melakukan koneksi ke server. Untuk membuat account Samba, user-user samba 

harus sudah ada dalam file /etc/passwd Linux. Jika kita ingin menambahkan 

user yang dapat mengakses Samba, kita harus menambahkan nama user tersebut 






pada file /etc/passwd sistem Linux kita sbb: (Misal kita ingin menambahkan user 

smbclient ). 

# adduser smbclient 

# passwd smbclient 

Changing password for user smbclient 

New UNIX password: 

Retype new UNIX password: 

passwd:all authentication tokens updated successfully 

Setelah kita manambahkan semua client Samba pada file /etc/passwd , Kita 

dapat membuat file /etc/smbpasswd dari file /etc/passwd dari Linux server 

(Ingat agar semua user yang akan mengakses samba sudah ada dalam file 

/etc/passwd ) dengan perintah sbb: 

# cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd 

Kemudian kita harus membuat account user Samba pada file /etc/smbpasswd 

sebelum kita dapat menggunakannya. 

# smbpasswd a smbclient 

New SMB password: 

Retype new SMB password: 

Added user smbclient 

Password changed for user smbclient. 

Kemudian ubahlah setting permisi file smbpasswd ini agar hanya bisa dibaca dan 

ditulisi oleh account root : 

# chmod 600 /etc/smbpasswd 

Untuk memeriksa kesalahan dalam penulisan file smb.conf , lakukan perintah ini : 

# testparm 

Untuk menjalankan dan menghentikan daemon Samba, nmbd dan smbd secara 

otomatis kita dapat menjalankan script file /etc/rc.d/init.d/smb . Pastikan bahwa

file ini mempunyai permisi yang hanya bisa dibaca, ditulis, dan dieksekusi oleh 

user root . 

# chmod 700 /etc/rc.d/init.d/smb 

Lalu buat simbolik link rc.d pada Samba dengan perintah : 

# chkconfig -add smb 

Agar sript Samba secara otomatis menjalankan daemon nmbd dan smbd saat 

sistem dihidupkan (atau direboot) lakukan perintah berikut ini : 

# chkconfig - level 345 smb on 

5. Menjalankan Samba 

Sebelum menjalankan Samba kita harus membuat direktori seperti yang sudah 

didefinisikan pada file Makefile. Hal ini karena direktori ini tidk secara otomatis 

dibuat saat mengeksekusi perintah make install. 

# mkdir /usr/local/samba/var 

Samba dapat dijalankan dengan dua macam cara. Pertama dijalankan sebagai 

daemon dan kedua menjalankannya dari inetd. Samba yang dijalankan sebagai 

daemon akan sedikit lebih cepat dalam melayani permintaan client jika 

dibandingkan dengan Samba yang dijalankan dari inetd. Biasanya berbagai 

distribusi Linux sudah mempunyai script untuk menstart dan menstop servis 

Samba. Untuk menjalankan Samba kita harus menjalankan daemon smbd dan 

nmbd. Lakukan perintah berikut ini : 

# /usr/local/samba/bin/smbd D 

# /usr/local/samba/bin/nmbd D 

Agar Samba selalu dijalankan setiap kali Linux melakukan booting, kita dapat 

menambahkan baris-baris di atas pada file /etc/rc.d/rc.local : 

# pico /etc/rc.d/rc.local 

/usr/local/samba/bin/smbd D 




/usr/local/samba/bin/nmbd -D 

Apabila dalam sistem kita tidak mempunyai script untuk menjalankan Samba 

secara otomatis, maka kita harus menuliskannya secara manual. Misalkan dengan 

cara membuat file /usr/local/bin/startsmb/ untuk menjalankan dan 

menghentikan secara otomatis daemon Samba server. 

# pico /usr/local/samba/bin/startsmb 

Tambahkan baris-baris berikut ini : 

#!/bin/sh 

/usr/local/samba/bin/smbd D 

/usr/local/samba/bin/nmbd -D 

Untuk menjalankan Samba kita tinggal mengeksekusi file startsmb tersebut. 

# /usr/local/samba/bin/startsmb 

Untuk mematikan Samba, kill proses smbd dengan cara sbb : 

# ps ax|grep smbd 

Dengan perintah di atas akan tampak proses smbd beserta nomor PID-nya. 

# kill -9 [nomor PID smbd]

No comments:

Post a Comment