I. Pendahuluan
kita sudah mengetahui tentang bagaimana mengakses data sharing  antar sesama linux. Namun, kita harus menyadari bahwa tidak semua user  mempunyai linux sebagai operating sistem pada komputernya. Kebanyakan  dari mereka masih menggunakan windows sebagai operating sistem pada  komputer mereka. Sekarang timbul pertanyaan, bagaimana cara agar user  linux dapat mengakses data dari windows atau sebaliknya? Tutorial kali  ini kita akan menggunakan program samba sebagai jembatan penghubung  untuk mengakses data antara windows dan linux. Penulis menggunakan  Centos 5.2 sebagai Operating sistem linux dan dijadikan sebagai server  samba.
II. Samba
Andrew tridgell merupakan orang yang pertama kali membuat program  samba dan selanjutnya dikembangkan oleh team samba. Kata samba diambil  dari sebuah nama tarian yang terkenal dari Brazil. Samba merupakan  kumpulan perangkat lunak untuk menyediakan layanan sistem file Microsoft  dari server file Linux (Unix umumnya). Samba mengimplementasikan  protokol SMB (atau CIFS) milik Microsoft untuk mengatur penggunaan file  dan printer secara bersama. SMB itu sendiri merupakan protokol yang  dikembangkan oleh Microsoft dan Intel untuk melakukan penggunaan bersama  sumber daya dalam sistem jaringan. Dengan program samba, file yang ada  pada sistem linux dapat diakses dari sistem Microsoft begitu juga  sebaliknya, file yang ada pada sistem Microsft dapat diakes dari sistem  Linux.
III. Konfigurasi Samba
1. Cek paket
Ceklah apakah di dalam sistem kita dengan menggunakan perintah:
# rpm -qa | grep samba
Jika di dalam sistem kita tidak ada paket samba, installah paket-paket samba dengan menggunakan perintah:
# yum install samba*
2. Backup file samba
Masuklah ke direktori samba dengan menggunakan perintah:  
# cd /etc/samba # cp smb.conf smb.conf.ori
3. Konfigurasi file samba
Ada banyak variasi yang bisa dilakukan oleh samba dan hal itu  tergantung dari masing-masing kebijakan kantor. Namun di bawah ini,  penulis mengkonfigurasi file samba yang sesuai dengan kebutuhan penulis.  Dan perlu diketahui bahwa penulis menggunakan server samba pada  jaringan 192.168.1.0/24 dimana IP 192.168.1.1 sebagai klien samba dengan  OS windows dan IP 192.168.1.2 sebagai server samba denagn OS linux.  Berikut adalah perintah untuk mengkonfigurasi file samba:
# vi smb.conf
Pada file smb.conf, penulis menggunakan konfigurasi sebagai berikut:  
Workgroup: Menentukan nama identitas workgroup atau domain dan tidak dibedakan apakah itu huruf besar atau kecil. Biasanya, Windows menggunakan nama Workgroup sebagai domain sehingga harus disesuaikan oleh file samba.
Server string: Menetukan isi pesan yang ditampilkan pada saat klien pada saat berhasil login dalam domain.
netbios name: Menentukan nama yang dipakai server SMB dalam jaringan. Nama yang dipakai tidak boleh melebihi 16 karakter dan tidak boleh ada karakter spasi serta tidak mempedulikan apakah itu huruf besar atau kecil.
interfaces: Menentukan interface mana yang akan digunakan oleh server samba
host allow: Menentukan alamat IP host yang diperbolehkan mengakses server SMB
log file: Menentukan direktori untuk log samba
max log size: Menentukan ukuran maksimal ukuran log yang seharusnya dapat dicapai
security: menentukan level keamanan server SMB yang juga menentukan bagaimana cara server SMB menanggapi permintaan klien. Ada 3 level yaitu:
a. share: klien SMB tidak perlu melakukan login sebelum menggunakan sumber daya jaringan. Autentifikasi password diperlukan pada saat user berusaha menggunakan sumber daya jaringan.
b. user: klien SMB harus melakukan login supaya dapat menggunakan sumber daya jaringan.
c. server: server SMB menggunakan server SMB lain untuk melakukan validasi klien SMB dan klien SMB harus melakukan login supaya dapat menggunakan sumber daya jaringan. Pada level ini, diperlukan pengaturan nama NETBIOS server password untuk autentifikasi (password server = nama_netbios)
passdb backend: informasi tentang user disimpan di dalam file ini
domain master: Menentukan apakah server SMB dapat berfungsi sebagai browser master domain. Supaya dapat berfungsi sebagai server domain, server SMB harus dapat berfungsi sebagai browser master domain
domain logos: Menentukan apaka server SMB dapat berfungsi sebagai server logon domain untuk klien Windows 95 atau PDC (primary Domain Controller) bagi Windows NT dan windows 2000.
preferred master: Menentukan supaya server SMB dapat memaksa browser lokal pada startup dan memberi kesempatan lebih tinggi untuk memenangkan persaingan pemilihan server domain.
wins support: Menentukan apakah server SMB dapat berfungsi sebagai server WINS
load printers: Membiarkan kita me-load daftar printer-printer secara otomatis dibandingkan menyetting printer-printer tersebut secara sendiri-sendiri
cups options: Mengijinkan kita untuk masuk ke option cup, misalnya memilih raw yang akan mengijinkan kita menggunakan driver-driver di klien windows
comment: Menentukan teks yang akan terlihat oleh klien pada saat login
browseable: Menentukan akses browse bagi user lain
writable: menentukan akses tulis pada masing-masing user
== Global Settings ==
[global]
-- Network Related Options --
        workgroup = WORKGROUP
        server string = Samba Server
        netbios name = Samba
        interfaces = lo eth0
        hosts allow = 127. 192.168.1.
-- Logging Options --
        log file = /var/log/samba/%m.log
        max log size = 5000
-- Standalone Server Options --
        security = share
        passdb backend = tdbsam
--- Domain Controller Options --
        domain master = yes
        domain logos = no
-- Browser Control Options --
        os level = 33
        preferred master = yes
-- Name Resolution --
        wins support = yes
-- Printing Options --
        load printers = yes
        cups options = raw
== Share Definitions ==
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S
[boy]
        comment = Boy Directories
        path = /home/boy
        browseable = yes
        writable = yes
        valid users = boy
[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        guest ok = no
        writable = no
        printable = yesPenjelasan:Workgroup: Menentukan nama identitas workgroup atau domain dan tidak dibedakan apakah itu huruf besar atau kecil. Biasanya, Windows menggunakan nama Workgroup sebagai domain sehingga harus disesuaikan oleh file samba.
Server string: Menetukan isi pesan yang ditampilkan pada saat klien pada saat berhasil login dalam domain.
netbios name: Menentukan nama yang dipakai server SMB dalam jaringan. Nama yang dipakai tidak boleh melebihi 16 karakter dan tidak boleh ada karakter spasi serta tidak mempedulikan apakah itu huruf besar atau kecil.
interfaces: Menentukan interface mana yang akan digunakan oleh server samba
host allow: Menentukan alamat IP host yang diperbolehkan mengakses server SMB
log file: Menentukan direktori untuk log samba
max log size: Menentukan ukuran maksimal ukuran log yang seharusnya dapat dicapai
security: menentukan level keamanan server SMB yang juga menentukan bagaimana cara server SMB menanggapi permintaan klien. Ada 3 level yaitu:
a. share: klien SMB tidak perlu melakukan login sebelum menggunakan sumber daya jaringan. Autentifikasi password diperlukan pada saat user berusaha menggunakan sumber daya jaringan.
b. user: klien SMB harus melakukan login supaya dapat menggunakan sumber daya jaringan.
c. server: server SMB menggunakan server SMB lain untuk melakukan validasi klien SMB dan klien SMB harus melakukan login supaya dapat menggunakan sumber daya jaringan. Pada level ini, diperlukan pengaturan nama NETBIOS server password untuk autentifikasi (password server = nama_netbios)
passdb backend: informasi tentang user disimpan di dalam file ini
domain master: Menentukan apakah server SMB dapat berfungsi sebagai browser master domain. Supaya dapat berfungsi sebagai server domain, server SMB harus dapat berfungsi sebagai browser master domain
domain logos: Menentukan apaka server SMB dapat berfungsi sebagai server logon domain untuk klien Windows 95 atau PDC (primary Domain Controller) bagi Windows NT dan windows 2000.
preferred master: Menentukan supaya server SMB dapat memaksa browser lokal pada startup dan memberi kesempatan lebih tinggi untuk memenangkan persaingan pemilihan server domain.
wins support: Menentukan apakah server SMB dapat berfungsi sebagai server WINS
load printers: Membiarkan kita me-load daftar printer-printer secara otomatis dibandingkan menyetting printer-printer tersebut secara sendiri-sendiri
cups options: Mengijinkan kita untuk masuk ke option cup, misalnya memilih raw yang akan mengijinkan kita menggunakan driver-driver di klien windows
comment: Menentukan teks yang akan terlihat oleh klien pada saat login
browseable: Menentukan akses browse bagi user lain
writable: menentukan akses tulis pada masing-masing user
4. Cek Konfigurasi File samba
Sebelum menjalankan server samba, sebaiknya diperiksa terlebih  dahulu apakah file smb.conf sudah dituliskan secara betul atau tidak.  Gunakan perintah berikut dan perhatikan hasilnya:
5. Menyalakan Server SMB
Untuk menjalankan server SMB, harus dijalankan dua daemon yaitu  daemon smbd dan nmbd. Daemon smbd yaitu daemon server yang menyediakan  layanan share file dan share printer untuk klien smb serta dapat  melayani klien Windows 9x, ME, 2000, OS/2, DAVE Macintosh dan smbfs  linux. Daemon nmbd yaitu daemon server yang digunakan untuk permintaan  layanan nama NetBIOS bagi klien SMB dan dapat mengerti serta dapat  menjawab permintaan layanan nama NETBIOS melalui IP. Daemon ini juga  dapat digunakan sebagai server WINS yang akan melakukan penciptaan  database dari permintaan registrasi nama yang diterima dan menjawab  semua query dari klien SMB untuk nama tersebut. Dan juga untuk  meneruskan query broadcast dari klien yang tidak memahami bagaimana cara  berhubungan antara server WINS dengan suatu server Windows. Untuk  menjalankan keduanya, gunakan perintah:
# service smb start
6. Membuat Password user Samba
Sesudah mensetting konfigurasi di file smb.conf, maka kita harus  membuat password samba untuk user. Di konfigurasi di atas sudah dibuat  contoh user boy yang dimasukkan ke dalam file smb.conf. Namun hal itu  tidak berarti apa-apa jika kita belum membuat password samba untuk  mereka. Format password samba adalah sebagai berikut:
# smbpasswd -a nama_user
Kalau menggunakan contoh diatas, maka format tersebut akan berubah menjadi:
# smbpasswd -a boy
Dan perlu diketahui bahwa password user samba bisa berbeda dengan  password login user. Kalau sudah berhasil membuat password, maka cobalah  di windows pada bagian address ketik:
\\192.168.1.2
# service smb restart
Sekarang cobalah membuat user baru misal bernama joko dan tambahkan  di file smb.conf konfigurasi seperti konfigurasi pada boy atau bisa  berkreasi sesuai kehendak kita agar kita lebih paham. Sesudah selesai,  buatlah password samba untuk joko dan restart samba maka lihat apa yang  akan terjadi. Dan perlu diingat, bahwa jika kita merubah sesuatu di file  smb.conf atau di sistem samba, maka kita harus selalu merestart service  samba.
7. Tes di Linux
Kalau samba sudah berhasil berjalan dan kita ingin mengakses file  di windows dari sistem linux, maka ketikkan pada bagian Location atau  address:
smb://192.168.1.1
Dan folder-folder yang sudah diijinkan di sharing akan terlihat disana.
8. Utiliti Samba
Samba mempunyai utiliti-utiliti yang dapat digunakan klien untuk  mengakses server SMB diantaranya adalah utiliti smbclient. Utiliti ini  digunakan untuk berhubungan dengan server SMB dan dapat memberikan  informasi tentang server SMB tersebut Format yang digunakan adalah:
# smbclient -L nama_server_smb
atau
# smbclient -L alamat_IP
nama_server_smb dapat dilihat di file smb.conf di bagian netbios  name. Pada saat perintah  di atas diberikan, server SMB akan minta  masukan untuk password yang digunakan. Tekan saja enter yang berarti  maksudnya anonymous.
Format diatas bisa dimodifikasi menjadi:
# smbclient -L nama_server_smb -U nama_user
atau
# smbclient -L alamat_IP -U nama_user
9. Troubleshooting
Terkadang kita ingin merubah atau lupa dengan password samba yang  dahulu sudah kita gunakan. Untuk merubah password samba, gunakan  perintah berikut:
# smbpasswd nama_user
Dalam kasus kita:
# smbpasswd boy
Setelah itu restart service samba. Kemudian, kita dapati di windows  kita ada error seperti berikut ketika kita hendak membuka folder  boy:\\192.168.1.2\boy is not accessible. You might not have permission  to use this network resource. Contact the administartor of this server  to find out if you have access permissions.
The specified network password is not correct.
The specified network password is not correct.
 Hal ini karena windows masih terhubung dengan server samba dan masih  menyimpan password user samba yang lama. Untuk mengatasi hal tersebut,  maka di dalam windows pada area toolbar pilih Tools lalu pilih  Disconnect Network Drives.
Lalu muncul pop-up. Klik drivenya lalu tekan OK.
Setelah itu, seharusnya user samba dapat memasukkan passwordnya yang baru.
Kalau autentikasi usernya pake LDAP bisa ga gan?
BalasHapus