Samba sebagai file server dan print server


SAMBA

Samba di dalam LiNUX terdiri dari 2 daemon kunci :
smb dan nmbd, keduanya ada di bawah /etc/rc.d/init.d (untuk RedHat)
Kedua daemon ini mampu melakukan 4 tugas dasar dari NetBEUI: 
File & Print Sharing, 
Authentication dan Authorization, 
Name Resolution dan 
Browsing 
dengan pembagian tugas sebagai berikut:
smb melakukan proses File & Print Sharing serta Authentication dan Authorization, sedang "nmbd" melakukan proses Name Resolution dan Browsin
  • Konfigurasi SAMBA
Samba hanya memiliki satu file konfigurasi yaitu /etc/smb.conf
Struktur /etc/smb.conf

Smb.conf terdiri dari 2 bagian:
 
[global], dan [share]
 
  1. [global] 
merupakan konfigurasi dasar dari samba. Di sini kita melakukan setting global seperti Workgroup kita. Setiap kita menghilangkan komentar (yang ada tanda ;), maka baris itu akan dibaca oleh smb dan nmbd.
 
Di [global] pula kita bisa menunjuk siapa yang bisa mengakses Samba server kita dari Win95. Di baris...
guest account=.....
 
masukkan nama guest account, seperti guest. Tapi satu hal yang perlu kita ingat, bahwa nama user tersebut terdaftar di /etc/passwd. Sebab jika tidak klien 95 tidak akan bisa mengakses LINUX kita.
Bagaimana cara memasukkan user name?
Kita bisa memasukkan user dengan perintah
adduser nama_user , dari terminal
Dengan memasukkan perintah ini, maka kita menaruh satu input baru di file /etc/passwd. Di dalam file ini setiap user account memiliki 7 field yang dipisahkan oleh titik dua, seperti berikut:
root: *:0:0:root:/root:/bin/bash
 
bin:*:1:1:bin:/bin
 
Struktur /etc/passwd adalah seperti ini:

username : password : userID : groupID : komentar : home directory : login command

Periksa apakah user guest ada di bawah, jika ada maka password user itu yang harus kita 

masukkan saat kita mengakses Samba Server dari Windows 95. Sedang jika dari NT 

Workstation, kita bisa memilih user siapa yang kita pakai untuk mengakses Samba Server itu. Sebab Windows NT memiliki option Connect As
Jika cara edit itu agak sulit, bagi pengguna RedHat bisa memakai linuxconf atau Control Panel di X Windows untuk menambah dan mengedit user. Bagi pemakai SuSE bisa mengaktifkan yast.
Setelah itu maka mesin Samba kita akan jadi file dan print server untuk Windows client.
Sedang [share] menentukan resource mana saja di komputer kita yang bisa diakses klien.Contoh :
[CDROM]
Path = /mnt/cdrom
guest ok = yes

Dengan adanya baris tersebut di dalam file smb.conf kita, maka kita memberi izin pada user untuk mengakses direktori /mnt/cdrom. Di dalam RedHat /mnt/cdrom adalah direktori tempat kita melakukan mounting terhadap /dev/cdrom atau cdrom kita. 
ENCRYPTED PASSWORD

Salah satu masalah yang mungkin timbul adalah password. Pada prinsipnya UNIX menggunakan "clear text authentication" sedang SMB menggunakan encrypted password. Untuk itu sejak Samba 1.9.X.X, dibuat satu shadow password samba di /etc/smbpasswd atau tergantung setting [global] kita di dalam:
encrypt password = yes
smbpasswd file = /usr/local/samba/private/smbpasswd

Jika kita memilih untuk menggunakan encrypted password, maka jalankan script smbpasswd.sh dengan menggunakan 

cat /etc/passwd | mksmbpasswd > /usr/local/samba/private/smbpasswd

Jika ada NIS di dalam network kita, bisa menggunakan ypcat :

ypcat /etc/passwd | mksmbpasswd > /usr/local/samba/private/smbpasswd

Dengan menggunakan perintah tersebut, kita mengkopi seluruh isi passwd ke dalam file 

/usr/local/samba/private/smbpasswd. Kemudian jangan lupa untuk memberi protection mode 
500 alias r-x------ pada file tersebut.

Jika kita hendak memaksa Windows 95/98 menggunakan plain text password, di mesin Windows kita jalankan registry editor, kemudian di bawah 

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP

Kita tambahkan DWORD value dari edit menu, di mana entri "New Value #1" menjadi "EnablePlainTextPassword." Kemudian klik dua kali item tersebut dan rubah nilainya 

menjadi 1 Khusus untuk NT (server dan workstation), di dalam registry cari hive:

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters\

kemudian tambahkan baris EnablePlainTextPassword:REG_DWORD=1
Dengan demikian kita memaksa Windows (NT dan 95) menggunakan sistem plain text password. Jika tidak, atau kembali ke setting standar password Windows ubah nilai 1 menjadi 0. Penggunaan plain text pasword tentu memiliki resiko, yang akan kita bahas di bawah ini.
  • Password SAMBA dan Plain Text Password

Sekarang kita bicarakan mengenai password dan security. Di dalam NT, encrypted password dilakukan lewat mekanisme algoritme MD4 (detail bisa dilihat di RFC 1320, karena MD4 sendiri merupakan standar encryption untuk SMB). Mekanisme sederhana dari MD4 encryption adalah sebagai berikut: saat user memasukkan password dan menekan enter, password dikapitalisasi kemudian sebelum 'on the fly di dalam network, password dipotong-potong (truncated) menjadi nilai bytes dan begitu diterima di server, password tersebut diubah menjadi 16 bytes dalam bentuk hashed (=#) dan dikirim kembali ke client. 
Setiap kali user memasukkan password, pengecekan yang dilakukan adalah kecocokan password di server dan client. Makanya di dalam lingkungan network NT, kita bisa punya pilihan untuk menyimpan password. 

Mekanisme ini juga merupakan dasar dari encryption CHAP (Challenge Handshake Authentication Protocol), di mana server dan client saling mengenali mengirimkan password, dan di dalam perjalanan saat dikirim password dienkripsi menjadi nilai 14 bytes.
Kelemahan dari encrypted passwor SMB adalah password disimpan di komputer client, sehingga dapat dengan mudah diacak. Terutama di dalam Windows, di registry di bawah hive HKEY_CURRENT_USER, terdapat file yang menunjukkan 16 bytes password dalam bentuk encrypted tentunya, tapi sekali satu session terbuka antara server dengan client, maka siapa pun dapat masuk ke dalam network dari komputer dimana user yang sedang membuka session tersebut berada. Satu kelemahan lagi adalah kita bisa mengedit password di dalam mesin yang menjalankan NT lewat network.

UNIX dan variannya, sebelum ditemukannya Kerberos menggunakan plain text password, password yang dikirim ke server tidak dienkripsi, namun dikirim sebagai plain text, akan tetapi password tidak disimpan di mesin client. Kelemahan plain text password adalah pada saat password dalam perjalanan ke server dan ada sniffer menangkap password tersebut, itu merupakan hadiah gratis bagi sniffer tersebut. Untungnya LiNUX sejak kernel 2.2.X telah mendukung penggunaan shadow password dengan encryption level MD5.

Dengan menjalankan script smbpasswd, anda telah membuat satu username dan password yang telah ter-enkripsi. Jadi tidak perlu kuatir password anda di-sniff atau di-hack jika anda menggunakan smbpasswd. Sebab security password-nya sama dengan security password Windows dan LANManager.
Beberapa Tools Pendukung SAMBA
Ada banyak tools yang bisa digunakan sebagai tools tambahan Samba, antara lain SMB2WWW, SWAT (Samba Web Admin Tools), atau LinNeighborhood.
Semua tools (kecuali LinNeighborhood) ini bisa anda dapatkan di homepage resmi samba :  
www.samba.org

Sebetulnya malah SWAT sudah ada di dalam setiap distribusi Samba. Anda hanya tinggal mengaktifkannya saja, biasanya SWAT ada di dalam /usr/bin/swat.
SWAT merupakan salah satu servis dari inetd, jadi yang harus anda lakukan adalah mengedit 2 file: yaitu /etc/services dan /etc/inetd.conf
Di etc/services tambahkan baris : swat 901/tcp 
Baris tersebut menyatakan bahwa swat akan menggunakan port 901 dari TCP (default Samba), atau bisa juga memakai port kosong yang tidak dipakai (cek ke RFC 1060).
Kemudian di dalam /etc/inetd.conf tambahkan baris
 
swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat 

Setelah itu, anda harus me-restart inetd, bisa dengan mengirimkan pesan HUP atau cukup.

!!ok teman-teman semua itu tadi penjelasan sedikit tentang samba selamat mencoba moga sukses amiin.....