I. SAMBA SERVER
Samba merupakan salah satu aplikasi yang ada di Sistem Operasi Linux yang memiliki
fungsi menyediakan service atau layanan file sharing dan printer sharing bagi komputer lain
yang terhubung dengan dirinya. Samba termasuk salah satu package/ aplikasi Linux yang masuk
ke dalam lisensi FOSS (Free Open Source Software). Samba ini berjalan diatas protokol SMB
(Server Message Block) yang merupakan protokol standar file sharing yang dimiliki oleh
Window. Protokol SMB (Server Message Block) atau nama lainnya protokol CIFS (Common
Internet File System), merupakan protokol yang berjalan pada layer aplikasi yang menyediakan
fungsi untuk akses file sharing, printer sharing, dan serial port. Mekanisme file sharing
menggunakan protokol SMB dapat dilihat pada Gambar 1. Sedangkan mekanisme file access
dapat dilihat pada Gambar 2.
Fitur-fitur yang dimiliki oleh samba diantaranya adalah:
Servis file share dan print share
Otentikasi dan otorisasi
Name resolution
Sevice Announcement (browsing)
III.
Segala macam service samba (samba daemon), smbd dan nmbd, dikontrol dalam satu
buah file ascii smb.conf yang berisi sampai 300 opsi konfigurasi. Secara default, file smb.conf
ini dibagi menjadi beberapa bagian (section), yaitu: global setting, debugging/ accounting,
authentication, printing, file sharing, misc, dan share definition
Konfigurasi User Samba
Untuk konfigurasi user samba (penambahan user samba dan password user samba) dapat
dilakukan dengan menggunakan command smbpasswd melalui console/ terminal. Contoh dari
konfigurasi user samba dapat dilihat di bawah kecil.
sudo
smbpasswd -a username
Username yang ada di perintah tersebut merupakan nama salah satu user yang ada di sistem
operasi. Setelah menambahkan user samba dan password untuk user samba, lakukan proses
refresh pada service samba dengan perintah berikut
sudo /etc/init.d/samba reload
Konfigurasi Global
Section [global] akan muncul dalam setiap file konfigurasi samba. Ada dua tujuan utama
dari konfigurasi section [global], yaitu: tempat meletakkan konfigurasi server samba secara
umum/ global, dan memberikan konfigurasi default bagi server samba, kecuali jika ada
konfigurasi pada opsi yang sama yang terdapat pada section lain. Jika kita mendefinisikan
konfigurasi tambahan atau konfigurasi pada opsi yang sama, maka konfigurasi global akan di
override (ditumpuki) dengan konfigurasi baru tersebut yang terletak pada section yang berbeda.
Contoh dari konfigurasi global:
[global]
workgroup = METRAN
encrypt passwords = yes
wins support = yes
log level = 1
max log size = 1000
read only = no
[homes]
browsable = no
map archive = yes
[printers]
path = /var/tmp
printable = yes
min print space = 2000
[test]
browsable = yes
read only = yes
path = /usr/local/samba/tmp
Pada saat client melakukan koneksi pada direktori test yang di-share, samba akan membaca
section [global] terlebih dahulu sebelum membaca konfigurasi yang ada di section share folder
[test]. Opsi read only = no pada section [global] akan ditumpuki dengan konfigurasi baru
read only = yes pada section [test]
Konfigurasi File Sharing (dasar)
Konfigurasi samba untuk file sharing dimulai dari nama share name yang ditulis
diantara tanda kurung []. Konfigurasi dapat dilakukan dengan cara menambahkan beberapa baris
opsi konfigurasi yang diteletakkan dibawah nama share name. Opsi tersebut biasanya
mempunyai nilai Boolean yes atau no
Contoh:
Untuk melakukan konfigurasi share folder pada home directory user
[homes]
comment = Home Directories
browseable = yes
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = no
Contoh lain untuk melakukan konfigurasi share printer dan share direktori test
[printers]
path = /var/tmp
printable = yes
min print space = 2000
[test]
browsable = yes
read only = yes
path = /usr/local/samba/tmp
Dari contoh tersebut dapat dijelaskan bahwa interface 127.0.0.1 merupakan interface loopback.
Sedangkan interface 192.169.0.31/24 merupakan interface lain yang diberi akses samba dengan
subnet 24. Dalam konfigurasi tersebut, antara interface yang satu dengan yang lain dipisahkan
dengan tanda koma
Apabila kita ingin membatasi komputer mana saja yang memiliki akses file sharing ke server
samba, maka kita bisa menambahkan daftar ip pada opsi host allow dan host deny. Contoh
dari konfigurasinya dapat dilihat sebagai berikut:
hosts allow = 127.0.0.1, 192.168.0.31, 192.168.0.32
hosts deny = 0.0.0.0/0
Opsi security=user membatasi login user pada server. encrypt password=true dibutuhkan
untuk akses dari Windows melalui login. map to guide=bad akan melakukan proses mapping
(pemetaan) pada proses login berulang kali dengan menggunakan username yang salah ke guest
account dengan konfigurasi guest account=nobody
Berikutnya, konfigurasi dari private dapat dilihat contohnya sebagai berikut:
[private]
comment = Private Share
path = /path/to/share/point
browseable = no
read only = no
Dari konfigurasi tersebut dapat dilihat untuk nilai opsi browseable = no, menyebabkan folder
yang di-share tidak dapat di brows melewati file eksplorer. Opsi path menunujuk ke alamat
direktori yang di-share secara private. Sedangkan opsi read only=no menyebabkan folder
tersebut dapat ditulis (write) ketika diakses secara remote.
Sedangkan untuk konfigurasi public share dapat dilihat sebagai berikut:
[public]
comment = Public Share
path = /path/to/share/point
read only = no
guest only = yes
guest ok = yes
LAB ASSIGNMENT
1. Konfigurasi SAMBA Server.
Untuk keperluan uji-coba, buatlah sembarang direktori, kemudian isilah direktoridirektori tsb dengan sembarang file. Juga buatkan beberapa user untuk rekanrekan di sekitar anda.
Buat user baru, yaitu userkiri, userkanan,userbaru.
# useradd userkiri
# passwd userkiri
# useradd userkanan
# passwd userkanan
# useradd userkanan
# passwd userbaru
# groupadd user
# usermod -G user userkiri
# usermod -G user userkanan
Script tersebut hanya mengcopykan daftar user yang sudah ada, dan tidak
menterjemahkan passwordnya. Untuk membuat password untuk samba user
gunakan perintah :
workgroup = PraktAdmin
server string = Ini Samba Server punya <NAMAMU>
##### membuat share direktori dengan samba
[dataumum]
comment = Direktori /temporary
path = /temporary
public = yes
browseable = yes
writable = yes
guest ok = yes
[mp3]
comment = Direktori /mp3
path = /mp3
public = yes
writable = no
readonly = yes
browseable = yes
[userkiri]
comment = Direktori userkiri
path = /home/userkiri
valid users = userkiri
writable = yes
readonly = no
browseable = yes
[user]
comment = grup user bisa write - lainnya readonly
path = /user
public = yes
Userkanan
Userbaru
Dataumum
rw
Rw
rw
MP3
ro
Ro
ro
User Kiri
rw
User
rw
rw
Jangan lupa untuk menyimpan file smb.conf, kemudian jalankan ulang service
samba.
# service smb reload
Karena ada 4 sharename, yaitu : dataumum, user, userkiri dan mp3. Masukkan
masing-masing sharename dengan username : userkanan, userkiri, dan userbaru
5. Coba buka sharename dataumum dengan username userkanan :
# smbclient //<hostname>/dataumum -U userkanan%userkanan
Pertanyaan :
Dapatkah anda melihat isi direktori dataumum? File apa yang berada dalam
/dataumum
Berhasilkah anda membuat direktori ? Mengapa ? Bila gagal, tuliskan pesan yang
nampak!
Isilah tabel berikut untuk tiap sharename dan username :
Tabel samba dengan smbclient :
sharename/user
Dataumum
MP3
User Kiri
User
Userkiri
Userkanan
Userbaru
Isi dengan read, write atau keduanya. Read berarti tidak dapat menambah file,
membuat direktori atau hanya melihat saja, write berarti dapat menambah file,
menambah direktori.
Apa yang dapat anda simpulkan dari tabel diatasmengenai hak akses client.
Bandingkan dengan konfigurasi yang anda buat pada smb.conf untuk tiap sharename
dan user. Sesuaikah ?
Buka MyComputer -> Tools ->Map Network Drives. Masukkan drive mana
saja (asalkan bukan drive hard disk yang ada). Pada baris folder, masukkan
baris bawah. Untuk sharename : dataumum,mp3,user dan userkiri.
\\<no_ip_samba_server>\<sharename>.
Perhatikan apakah anda sukses masuk ke sharename yang dituju bila iya,
bagaimana dg hak aksesnya ?
Userkanan
Userbaru
Dataumum
MP3
User Kiri
User
# rm r /mp3
# userdel r userkiri
# userdel r userkanan
# cp /etc/samba/smb.conf.asli /etc/samba/smb.conf
# cp /etc/hosts.asli /etc/hosts
REFERENSI
1. Samba File Server, https://help.ubuntu.com/lts/serverguide/samba-fileserver.html
2. Samba/ Samba Server Guide,
https://help.ubuntu.com/community/Samba/SambaServerGuide
3. The Samba Configuration File, https://www.samba.org/samba/docs/using_samba/ch06.html
4. Samba: An Introduction, https://www.samba.org/samba/docs/SambaIntro.html