Menyandingkan Linux ke Windows dengan Samba

By: mahyuddin*


Menghubungkan jaringan komputer dengan sistem berbeda tidaklah sulit hal ini karena sudah adanya layanan-layanan yang sudah disediakan oleh sistem operasi yang bersangkutan. Seperti pada Linux untuk berhubungan dengan sistem lain maka Linux membutuhkan suatu service yang disebut dengan Samba, dimana samba ini digunakan Linux untuk menjadi client maupun server di jaringan yang ada sistem operasi windowsnya.

Samba adalah program aplikasi yang mengimplementasikan protokol Server Massage Block (SMB) di lingkungan Unix atau Linux. Protokol ini mempunyai fungsi utama untuk berbagi (sharing) file dan printer. Samba dapat menjadi jembatan untuk mengatasi masalah komunikasi antar jaringan, baik dalam lingkungan Linux/unix maupun platform lainya.

  1. Penginstalasian Samba di Linux

Untuk menginstall samba user harus log-in sebagai root, log-in sebagai root dapat melalui terminal konsole dengan cara sebagai berikut:

[email protected]:~$ su

password:

udienz:~#/home/udienz#


Kemudian install samba

udienz:~# apt-get install samba smbclient smbfs

Atau bila menggunakan Ubuntu/Edubuntu/Kubuntu dapat menggunakan perintah sudo

[email protected]:~$ sudo apt-get install mc

[email protected]:~$ sudo apt-get install smbclient smbfs

[email protected]:~$ sudo apt-get install samba smbclient smbfs


Kemudian konfigurasikan samba dengan membuka /etc/samba/samba.conf dengan Midningt Commander atau gedit atau kedit bila menggunakan desktop KDE

[email protected]:~$ Sudo gedit /etc/samba/smb.conf

[email protected]:~$ Sudo mcedit /etc/samba/smb.conf

#======================= Global Settings =======================

[global]

workgroup = mshome

server string = %h server (Samba %v)

wins support = yes

wins server = w.x.y.z

# include = /etc/samba/dhcp.conf

dns proxy = no

; name resolve order = lmhosts host wins bcast

#### Debugging/Accounting ####

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

max log size = 1000

panic action = /usr/share/samba/panic-action %d

####### Authentication #######

security = share

encrypt passwords = true

; passdb backend = tdbsam guest

; obey pam restrictions = yes

; guest account = share

; invalid users = nobody

; unix password sync = no

_ _

; passwd program = /usr/bin/passwd %u

; passwd chat = *EntersnewsUNIXspassword:* %nn *RetypesnewsUNIXspassword:* %nn .

; pam password change = no

########## Printing ##########

load printers = yes

printing = bsd

printcap name = /etc/printcap

printing = cups

printcap name = cups

printer admin = @ntadmin

######## File sharing ########

preserve case = yes

short preserve case = yes

############ Misc ############

include = /home/samba/etc/smb.conf.%m

socket options = TCP_NODELAY

; message command = /bin/sh -c ‘/usr/bin/linpopup “%f” “%m” %s; rm %s’ &

; domain master = auto

; idmap uid = 10000-20000

; idmap gid = 10000-20000

; template shell = /bin/bash

#======================= Share Definitions =======================

[homes]

_ comment = Home Directories_

_ browseable = yes_

[data]

_ comment= cobain aja deh_

_ path= /home/ ardienz/public_

_ browseable= yes_

_ read only= yes_

_ guest ok= yes_

_ writable= yes_

writable = yes

create mask = 0777

directory mask = 0777

[netlogon]

_ comment = Network Logon Service_

_ path = /home/samba/netlogon_

_ guest ok = yes_

_ writable = yes_

_ share modes = yes_

[printers]

_ comment = All Printers_

_ browseable = yes_

_ path = /tmp_

_ printable = yes_

_ public = yes_

_ writable = yes_

_ create mode = 0700_

_ [print$]_

_ comment = Printer Drivers_

_ path = /var/lib/samba/printers_

_ browseable = yes_

_ read only = no_

_ guest ok = yes_

write list = root, @ntadmin, “Mahyuddin Susanto”

[cdrom]

_ comment = Samba server’s CD-ROM_

_ writable = no_

_ locking = no_

_ path = /cdrom_

_ public = yes_

_ preexec = /bin/mount /cdrom_

_ postexec = /bin/umount /cdrom_



Keterangan:

Workgroup : setiap host atau client yang terhubung ke dalam satu jaringan yang sama (satu group) baik windows ataupun Linux harus memiliki workgroup yang sama.

Guest account : diset sebagai nobody; guest account ini mengatur pemberian hak izin write ke semua user

**Security **:option defaultnya adalah “user”, “share”, “server”, dan “domain”

**comment **: komentar tentang drive tersebut

**path **: letak direktori yang akan dishare

**read-only **: option defaultnya adalah “yes” sehingga semua host yang ada tidak dapat melakukan perubahan apapun terhadap drive tersebut

**locking **: hak izin read only untuk filesystem ataupun perangkat device (CD-ROM)

**browseable **: Option defaultnya adalah “yes” sehingga drive yang dishare akan tampak pada komputer lain

**Public **: option ini menyebabkan semua host dapat mengakses

file atau direktori yang tershare tanpa adanya permintaan password dari komputer tersebut

**guest ok **: fungsinya sama dengan public

**create mode **: option ini untuk mengatur hak–hak yang akan diberikan kepada host lain terhadap file atau direktori yang akan dishare.

Writable : option ini memberikan hak azas kepada host lain untuk melakukan perubahan pada file atau direktori yang anda share. Pilihan defaulnya adalah “no”.

Setelah anda melakukan perubahan pada file konfigurasi di atas, restart kembali service samba anda untuk mendapatkan perubahan pada file konfigurasi tersebut. Perintah yang digunakan adalah:

udienz:~# /etc/init.d/samba restart

Apabila user ingin melihat file apasaja di komputer Debian/Ubuntu dapat menggunakan perintah:

[email protected]:~/public$ sudo testparm /etc/samba/smb.conf

Load smb config files from /etc/samba/smb.conf

Processing section “[printers]”

Processing section “[print$]”

Processing section “[Dekstop_Udienz]”

NOTE: Service Dekstop_Udienz is flagged unavailable.

Processing section “[Bolehdiakses]”

Loaded services file OK.

WARNING: passdb expand explicit = yes is deprecated

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

_ _

[global]

_ workgroup = LABKOMTEK_

_ server string = %h server (Samba, Ubuntu)_

_ security = SHARE_

_ obey pam restrictions = Yes_

_ passdb backend = tdbsam_

_ passwd program = /usr/bin/passwd %u_

_ passwd chat = EntersnewsUNIXspassword: %nn RetypesnewsUNIXspassword: %nn passwordsupdatedssuccessfully ._

_ syslog = 0_

_ log file = /var/log/samba/log.%m_

_ max log size = 1000_

_ dns proxy = No_

_ wins support = Yes_

_ panic action = /usr/share/samba/panic-action %d_

_ invalid users = root_

_ _

[printers]

_ comment = All Printers_

_ path = /tmp_

_ create mask = 0700_

_ printable = Yes_

_ browseable = No_

_ _

[print$]

_ comment = Printer Drivers_

_ path = /var/lib/samba/printers_

_ _

[Dekstop_Udienz]

_ comment = desktopnya udienz hehehe_

_ path = /home/_

_ read only = No_

_ available = No_

_ _

[Bolehdiakses]

_ path = /home/black/public_

_ read only = No_

_ guest ok = Yes_

_ _

Untuk melihat file atau direktori yang telah anda dan komputer lain share, anda dapat menggunakan browser konqueror yang mendukung protokol samba. Pada Url ketikkan : **smbclient –U% -L **

[email protected]:~/public$ sudo smbclient -U% -L 192.168.171.1


Domain=[LABKOMTEK] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

              Sharename       Type       Comment




              ---------       ----       -------

Error returning browse list: NT_STATUS_ACCESS_DENIED

session request to 192.168.171.1 failed (Called name not present)

session request to 192 failed (Called name not present)

Domain=[LABKOMTEK] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Server Comment


UDIENZ_XP

Workgroup Master


LABKOMTEK UDIENZ_XP

LABKOMTEK BLACK-DESKTOP

Bila user Linux ingin me-mount directory yang dishare dapat menggunakan perintah:

udienz:~# smbmount//192.168.42.1/my_music /mnt/music

Jika nama host atau IP_address yang anda masukkan ada dalam jaringan anda, maka konqueror webrowser akan menampilkan isi dari direktori yang dishare oleh komputer lain.

Oleh:

Mahyuddin Susanto

Mahasiswa Teknik Elektro Universitas Jember

Asisten UPT-TI Universitas Jember, Aktifis IMM KoTA Universitas Jember, Ketua DPM Teknik Elektro Universitas Jember

_e-mail = [email protected]__ _