SAMBA SERVER
Pengantar Samba merupakan salah satu aplikasi di mesin UNIX dan turunannya yang mengimplementasikan protokol SMB atau Server Message Block. Pada mayoritas sistem operasi, protokol SMB digunakan dalam jaringan client-server, sehingga memungkinkan antar sistem operasi yang berbeda tersebut dapat saling berkomunikasi, seperti misalnya bertukar data, akses printer secara bersama, hingga digunakan sebagai jalur login ke suatu server domain. Untuk mengetahui sejarah dari penciptaan Samba, adalah tidak terlepas dari peran Andrew Tridgell, sebagai koordinator dari tim pengembangan samba, yang mengendalikan akses terhadap komunitas melalui rumahnya di Canberra, Australia. Project Samba dimulai pada tahun 1991, ketika Andrew Tridgell membuat profgram fileserver untuk jaringan di rumahnya yang mendukung protokol DEC dari Digital Pathworks. Sampai akhirnya pengembangan tersebut terus berlangsung saat ini, dan didukung oleh banyak programmer dari seluruh dunia yang ikut membangun SMB Server. Beberapa alasan yang membuat admistrator sistem mengimplementasikan aplikasi samba di server adalah:
menyediakan layanan berbagi pakai (sharing) untuk berkas di server, sehingga dapat diakses oleh banyak client pada saatu waktu. memberikan akses kepada partisi dari sistem Microsoft kepada server Unix dan turunannya. menghadirkan layanan berbagi pakai printer pada jaringan. menghilangkan keterbatasan pengaksesan informasi dan data pada jaringan komputer yang diimpelementasikan dengan menggunakan banyak sistem operasi (multi OS).
Gambar 9.1. Contoh implementasi server multi OS Mengenai isu performansi dari aplikasi samba, dapat dilihat dari beberapa fakta berikut ini: Mendukung kurang lebih 35000 komputer client secara simultan. Mendukung kurang lebih 500 pengguna konkuren pada layanan file dan print dari suatu server single medium-size, tanpa mengurangi performansi secara berarti dari server penyedia. Dari hasil riset, telah dibuktikan bahwa dukungan terhadap perangkat keras yang diberikan oleh aplikasi samba, lebih baik dari server berbasis Microsoft (terutama untuk masalah komunikasi antara dua atau lebih sistem operasi).
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
1
Instalasi samba Untuk memulai instalasi dari aplikasi samba, adalah terlebih dahulu menyiapkan dvd instalasi, untuk selanjutnya melalui paket manager berbasis GUI (synaptic, dll), atau melalui konsol, pengguna dapat memulai menginstall aplikasi tersebut. tutorial ini lebih cenderung untuk membawa pengguna pada konfigurasi berbasis konsol, sehingga diharapkan lebih familiar terhadap proses administrasi mesin Linux secara manual. Untuk memulai instalasi, lakukan perintah berikut: apt-get install samba deb:/media# apt-get install samba Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: samba-common Recommended packages: smbldap-tools The following NEW packages will be installed: samba samba-common 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 5637kB of archives. After unpacking 13.6MB of additional disk space will be used. Do you want to continue [Y/n]?
Kemudian, akan muncul jendela dialog kepada pengguna yang akan menanyakan beberapa masukan yang akan digunakan dalam konfiguras aplikasi. Seperti yang terlihat pada visualisasi di bawah ini, pengguna diminta untuk memberikan informasi mengenai nama dari workgroup. Pada tutorial ini, masukkan data berikut: workgroup
Gambar 9.2. Meminta informasi workgroup dari jaringan komputer pengguna Selanjutnya adalah pengguna akan ditanyakan apakah ingin mengkolaborasikan server SMB dengan akses layanan dhcp. Karena sebelumnya pengguna telah melakukan konfigurasi secara manual pada nomor IP, maka opsi yang dipilih adalah “No”. Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
2
Gambar 9.3. Meminta konfirmasi mengenai kolaborasi dengan dhcp Selesai melakukan proses instalasi, pengguna dapat melihat secara manual menggunakan editor yang terdapat di sistem, mengenai berkas konfigurasi dari samba yang berada di lokasi /etc/samba. Pada contoh berikut, berkas yang akan dilakukan perubahan adalah smb.conf. Seperti yang terlihat pada isi dari berkas konfigurasi smb.conf di bawah ini: membuka berkas menggunakan pico. perintah: pico /etc/samba/smb.conf #======================= Global Settings ======================= [global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = workgroup # server string is the equivalent of the NT Description field server string = %h server ####### Authentication ####### # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details. # security = user security = share
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
3
Salah satu bagian penting dari konfigurasi ini adalah melakukan pengubahan nilai security dari samba, yang sebelumnya adalah user, menjadi share. Hal ini dilakukan agar pengaksesan suatu direktori yang berbagi pakai tersebut dapat langsung dilakukan oleh pengguna, tanpa harus memasukkan suatu informasi otorisasi seperti username dan password. #======================= Share Definitions ======================= #[homes] # comment = Home Directories # browseable = no # By default, the home directories are exported read-only. Change next # parameter to 'yes' if you want to be able to write to them. # writable = no # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. # create mask = 0700 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. # directory mask = 0700
Menambahkan bagian berikut ini pada berkas smb.conf. Bagian ini yang akan mengatur mengenai direktori yang akan diberikan akses pakai bersama pada jaringan, seperti yang terlihat pada contoh konfigurasi: comment: memberikan penjelasan tambahan terhadap direktori bersama. browseable: memberikan akses melihat isi dari direktori yang disharing. writeable: memberikan hak akses tulis ke direktori (sebaiknya tidak). public: semua komputer dapat mengakses direktori sharing tersebut tanpa harus sebelumnya terhubung dalam account atau hak akses yang telah ditentukan. path: merupakan lokasi direktori yang akan disharing ke jaringan. guest ok: membuat semua pengguna tanpa otorisasi dapat mengakses folder tersetbut. [berbagi] comment = berbagi adalah suatu keindahan !!! browseable = yes writable = no public = yes path = /home/me guest ok = yes
Selesai menambahkan konfigurasi baru, maka pengguna harus melakukan restart layanan dari samba. lakukan menggunakan perintah /etc/init.d/samba restart, seperti yang terlihat pada contoh di bawah ini: deb:/media# /etc/init.d/samba restart Stopping Samba daemons: nmbd smbd. Starting Samba daemons: nmbd smbd. Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
4
Percobaan hasil konfigurasi Untuk melakukan proses testing terhadap konfigurasi yang telah dilakukan sebelumnya, apakah mengandung kesalahan atau tidak, terdapat satu aplikasi yang sntadar digunakan, yaitu testparm. Untuk hasil eksekusi ketika menjalankan perintah tersebut, adalah dengan mengetikkan nama aplikasi tersebut langsung di konsol, seperti yang terlihat pada contoh berikut: deb:/media# testparm Load smb config files from /etc/samba/smb.conf Processing section "[berbagi]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] server string = %h server security = SHARE obey pam restrictions = Yes passdb backend = tdbsam passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No panic action = /usr/share/samba/panic-action %d invalid users = root [berbagi] comment = berbagi adalah suatu keindahan !!! path = /home/me guest ok = Yes
Kemudian terdapat satu aplikasi yang berfungsi melakukan pengecekan status dari koneksi yang dilakukan melalui samba. aplikasi tersebut adalah smbstatus. Ketika tidak adak akses dari client ke server, maka tampilan di layar setelah mengeksekusi perintah smbstatus adalah sebagai berikut: deb:/media# smbstatus Samba version 3.0.24 PID Username Group Machine -----------------------------------------------------------------Service pid machine Connected at ------------------------------------------------------berbagi 4090 indonesia Sat May 3 05:05:59 2008 No locked files
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
5
Penjelasan dari hasil eksekusi perintah smbstatus di atas akan memberikan informasi yang dibagi dalam 3 bagian. Bagian yang pertama adalah akan menginformasikan kepada pengguna mengenai client yang terkoneksi dengan server samba, secara detail akan menyebutkan nama komputer client tersebut. sedangkan di bagian kedua adalah menginformasikan mengenai nama dan status dari berkas yang sedang digunakan secara bersama di server, ternasuk hak akses read/write, dan informasi lain yang terkait dengan berkas tersebut. Untuk bagian yang terakhir, akan memberikan informasi mengenai tanggal dan waktu akses ke server. Mengakses Samba Server melalui sistem operasi Microsoft Windows XP Samba server yang telah selesai dikonfigurasi tersebut, dapat diakses melalui sistem operasi lain untuk direktori yang diberikan akses untuk berbagi pakai (sharing). Seperti yang terlihat pada contoh di bawah ini adalah visualisasi ujicoba pengaksesan komputer server yang menyediakan direktori bersama, yang terdapat pada komputer dengan nomor IP 192.168.1.1. Menggunakan akses secara langsung dari menu Start -> Run, dan mengetikkan alamat tujuan yang akan diakses, yaitu \\192.168.1.1.
Gambar 9.4. Mengakses melalui Start Menu -> Run
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
6
Hasil eksekusi dari perintah di atas adalah seperti yang terlihat pada visualisasi di bawah ini. Pada komputer server yang sebelumnya telah mengkonfigurasi bahwa direktori yang digunakan untuk berbagi pakai, akan dapat diakses oleh pengguna dari sistem operasi yang berbeda, tetapi tentu saja berada dalam satu jaringan yang sama.
Gambar 9.5. Tampilan di Windows Eksplorer untuk direktori yang dishare pada server Pengguna dapat mencoba untuk mengakses direktori yang dishare tersebut, dengan melakukan double klik terhadap direktori, dan akan langsung menampilkan hasil yang terlihat pada gambar di bawah ini:
Gambar 9.6. Isi dari direktori berbagi dari komputer server Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
7
Bagaimana tampilan ketika pengguna mencoba untuk mengakses melalui network neighbourhood melalui aplikasi windows eksplorer?. Terlihat bahwa pada bagian Microsoft Windows Network, di dalamnya terdapat suatu domain utama bernama workgroup, yang ketika diakses secara mendetail akan memberikan informasi bahwa terdapat dua komputer yang menjadi anggota dari domain tersebut. Yang pertama adalah deb server (192.168.1.1) yang merupakan samba server (linux) dan untuk komputer windows sebagai komputer kedua yang mengakses tidak akan secara langsung terlihat, tetapi harus dilakukan tindakan sharing terlebih dahulu pada salah satu folder, untuk selanjutnya akan secara otomatis terlihat pada workgroup.
Gambar 9.7. Akses jaringan melalui network neighbourhood Akses ke direktori yang berbagi pakai tersebut memiliki keterbatasan terhadap beberapa hak akses, seperti misalnya penulisan atau pembuatan berkas dan direktori baru di dalamnya. Hal ini adalah merupakan implementasi dari alasan keamanan dari data, karena sebaiknya dalam suatu jaringan, direktori berbagi pakai seharusnya terproteksi, hanya dapat diakses baca, karena untuk akses penulisan ke dalamnya adalah merupakan tanggung jawab dari administrator jaringan atau pihak-pihak yang telah mempunyai otorisasi untuk melakukannnya. Seperti yang terlihat pada gambar 9.8 dimana akan secara otomatis muncul pesan kesalahan terhadap pengguna yang mencoba untuk melakukan penulisan ke dalam direktori tersebut.
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
8
Gambar 9.8. Pesan kesalahan ketika pengguna berupaya membuat berkas baru Dari kegiatan pengaksesan tersebut, bagaimana kondisi dari informasi yang berhasil di-log oleh smbstatus. Pengguna dapat mengeksekusi ulang perintah tersebut, dan akan memberikan hasil akhir seperti berikut ini: deb:/media# smbstatus Samba version 3.0.24 PID Username Group Machine -----------------------------------------------------------------Service pid machine Connected at ------------------------------------------------------berbagi 4104 indonesia Sat May 3 05:12:34 2008 Locked files: Pid Uid DenyMode Access R/W Oplock SharePath Name Time ------------------------------------------------------------------------------------------------4104 65534 DENY_NONE 0x100001 RDONLY NONE /home/me . Sat May 3 05:12:34 2008
Terlihat pada hasil eksekusi perintah di atas memberikan informasi bahwa terdapat akses dari mesin client bernama Indonesia, pada tanggal dan jam yang tercatat secara detail oleh sistem, dengan status dari direktori berbagi pakai yang disediakan layanannya oleh server adalah bersifat ReadOnly, dan lokasi sebenarnya dari direktori berbagi pakai tersebut pada server adalah berada di /home/me.
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
9
Instalasi aplikasi SMB browser pada mesin Linux Untuk membantu menvisualisasikan akses jaringan pada mesin Linux seperti halnya fitur network neighbourhood yang familiar dengan para pengguna OS Windows, terdapat banyak sekali aplikasi berbasis Linux yang mempunyai tujuan yang sama, bahkan secara fungsionalitas lebih spesifik dibanding aplikasi pembandingnya. Salah satu dari aplikasi tersebut adalah smb4k, dengan spesifikasi utama bekerja pada desktop environment berbasis KDE, tapi untuk para pengguna GNOME, dapat pula memanfaatkan aplikasi ini dengan baik. Berikut adalah cara instalasinya terlebih dahulu yang akan dibahas pada tutorial. Sama seperti aplikasi bawaan lain, smb4k juga terdapat pada dvd instalasi. Pengguna dapat mulai untuk melakukan instalasi, dengan melalui konsol, dengan mengetikkan perintah berikut ini: deb:/media# apt-get install smb4k Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: smbclient smbfs The following NEW packages will be installed: smb4k smbclient smbfs 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 5879kB of archives. After unpacking 14.0MB of additional disk space will be used. Do you want to continue [Y/n]?
Setelah berhasil menginstall aplikasi tersebut, maka dapat diakses langsung dari konsol dengan mengetikkan perintah smb4k, atau dapat pula mengaksesnya melalui shortcut menu yang telah otomatis dibuat di menu K atau gnome pengguna. Tampilan dari aplikasi smb4k ketika dieksekusi adalah seperti berikut:
Gambar 9.9. Tampilan dari aplikasi smb4k.
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
10
Untuk mengaktifkan pengaksesan sumber daya jaringan yang saling terhubung, pengguna dapat mengklik icon scan new network, atau dengan memilihnya dari menu yang terdapat di aplikasi. Aplikasi akan langsung mengenali komputer-komputer yang saling terhubung tersebut, seperti yang terlihat pada gambar di bawah ini.
Gambar 9.10. Pengaksesan komputer dalam jaringan menggunakan smb4k. Aplikasi ini juga mendukung akses langsung ke direktori yang di-share, dengan membuka secara otomatis aplikasi eksplorer dari Linux untuk melihat isi dari direktori tersebut. Seperti yang terlihat pada gambar saat pengguna mencoba untuk mengakses direktori.
Gambar 9.11. Pengaksesan direktori sharing oleh pengguna. Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
11
Pengamanan Samba Setelah pengguna sebelumnya bereksplorasi terhadap pengaksesan direktori tanpa melalui proses otorisasi, maka bagian ini akan menampilkan konfigurasi untuk melakukan tindakan pengamanan terhadap akses di samba server. Caranya adalah dengan memastikan bahwa nilai dari parameter security yang terdapat pada berkas /etc/samba/smb.conf kembali diset ke nilai user (sebelumnya share). Setelah itu, harus menentukan pengguna yang berhak untuk melakukan pengaksesan direktori tersebut. Dapat merupakan pengguna yang sebelumnya telah terdapat di sistem, atau membuat pengguna baru. Pada tutorial ini, akan dicontohkan kondisi administrator ingin membuat pengguna baru yang mempunyai otorisasi untuk mengakses direktori berbagi pakai. Tahapannya adalah sebagai berikut: Membuat pengguna baru: dengan username windows useradd windows Membuat password samba untuk pengguna baru tersebut smbpasswd –a windows Selanjutnya adalah melakukan perubahan terhadap bagian share definition dari berkas /etc/samba/smb.conf, dimana pengguna menambahkan opsi valid users = windows pada bagian “[berbagi]”, seperti yang terlihat pada contoh konfigurasi di bawah ini [berbagi] comment = berbagi adalah suatu keindahan !!! browseable = yes writable = no public = yes path = /home/me guest ok = yes valid users = windows
Setelah melakukan perubahan-perubahan tersebut, pastikan layanan samba harus direstart ulang, dengan menjalankan perintah /etc/init.d/samba restart. Tujuan dari dilakukannya aktifitas di atas adalah untuk membatasi akses ke direktori yang disharing dalam jaringan adalah hanya dapat dilakukan oleh pengguna yang diotorisasi oleh administrator. Dan disarankan bahwa tindakan ini dilakukan secara selektif dan disiplin, dengan alasan bahwa dengan adanya direktori yang dishare dalam suatu jaringan, akan menimbulkan upaya pengaksesan secara illegal oleh pengguna yang tidak bertanggung jawab, sehingga harus dilindungi. Seperti yang terlihat pada gambar 9.12, dimana akan muncul jendela konfirmasi kepada pengguna yang ingin mengakses, dengan meminta masukan berupa username dan password yang telah sebelumnya dibuat oleh administrator. Hal ini sangat efektif untuk melindungi direktori dari pengaksesan ilegal.
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
12
Gambar 9.12. Permintaan username & password untuk mengakses direktori. Setelah pengguna memberikan informasi yang sesuai, maka direktori akan dapat diakses, seperti yang terlihat pada visualisasi berikut ini:
Gambar 9.13. Tampilan dari direktori sharing.
Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
13
Implementasi tindakan pengamanan ini juga akan berlaku sama untuk pengaksesan dari OS Windows. Seperti yang terlihat pada gambar di bawah ini, ketika pengguna mencoba untuk membuka direktori yang telah terproteksi sebelumnya.
Gambar 9.14. Permintaan username & password untuk pengaksesan dari OS Windows. Untuk pengaksesan dari konsol linux (dari client) terhadap samba server, menggunakan aplikasi smbclient, yang menyediakan fasilitas seperti ftp untuk mengakses sumber daya SMB pada server penyedia layanan. Panduan lengkap dari penggunaan aplikasi ini dapat dibaca melalui manual (dengan mengetikkan pada konsol man smbclient). Untuk contoh penggunaannya adalah seperti yang terlihat pada gambar di bawah ini:
Gambar 9.15. Pengaksesan samba server menggunakan smbclient. Sesi Samba Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
14