samba sebagai domain controller print server dan file server pada workgroup

7 05 2009

Mungkin rekan-rekan admin sudah banyak yang mahir dalam konfigurasi SAMBA. Penulis memberikan tulisan ini sebagai jawaban atas pertanyaan salah seorang teman penulis yang ingin mengetahui tentang SAMBA dan cara melakukan konfigurasi SAMBA. Rekan virtual penulis (Hendra) menanyakan kepada penulis bagaimana cara mengkonfigurasikan SAMBA agar mesin Linux-nya dapat diakses dari mesin Windows serta dapat dijadikan server printer. Dan rekan Hendra juga memberikan saran agar tutorial ini bersifat praktek dan tidak hanya teori. Terima kasih untuk rekan Hendra King (kelana_muda@yahoo.com) dan Pak Nino atas pertanyaannya.

Penulis tidak akan menjelaskan instalasi Linux. Sebaiknya pada saat instalasi, Anda telah menyiapkan partisi tersendiri bagi direktori /home karena direktori ini akan kita gunakan untuk implementasi kuota.

Penulis menggunakan distro Ubuntu 5.10 “Breezy Badger” sebagai server SAMBA. Distro turunan Debian seharusnya dapat langsung menggunakan tutorial ini. Tutorial ini seharusnya juga bisa dipakai pada distro lain dengan sedikit modifikasi.

1.Masuk sistem sebagai root

Masuk ke sistem Linux sebagai root.

#sudo passwd root

#su

2.Pastikan alamat IP server SAMBA

Buka file /etc/network/interfaces dan pastikan alamat IP berupa alamat IP statik. Pada server ini penulis menggunakan alamat 192.168.0.100.

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

# This is a list of hotpluggable network interfaces.

# They will be activated automatically by the hotplug subsystem.

mapping hotplug

script grep

map eth0

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.0.100

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

Restart servis SAMBA.

#/etc/init.d/networking restart

Buka file /etc/hosts dan alamat IP server Anda

127.0.0.1       localhost.localdomain   localhost       server1

192.168.0.100   server1.example.com     server1

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

3.Setting hostname server

#echo server1.example.com > /etc/hostname
/bin/hostname -F /etc/hostname

4.Lakukan update distro Anda jika diperlukan

Edit file /etc/apt/source.list dan update sistem Anda. Penulis memberikan contoh isi file sebagai berikut :

# deb cdrom:[Ubuntu 5.10 _Breezy Badger_ - Release i386 (20051012)]/ breezy main restricted

deb http://de.archive.ubuntu.com/ubuntu breezy main restricted

deb-src http://de.archive.ubuntu.com/ubuntu breezy main restricted

## Major bug fix updates produced after the final release of the

## distribution.

deb http://de.archive.ubuntu.com/ubuntu breezy-updates main restricted

deb-src http://de.archive.ubuntu.com/ubuntu breezy-updates main restricted

## Uncomment the following two lines to add software from the 'universe'

## repository.

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu

## team, and may not be under a free licence. Please satisfy yourself as to

## your rights to use the software. Also, please note that software in

## universe WILL NOT receive any review or updates from the Ubuntu security

## team.

deb http://de.archive.ubuntu.com/ubuntu breezy universe

deb-src http://de.archive.ubuntu.com/ubuntu breezy universe

## Uncomment the following two lines to add software from the 'backports'

## repository.

## N.B. software from this repository may not have been tested as

## extensively as that contained in the main release, although it includes

## newer versions of some applications which may provide useful features.

## Also, please note that software in backports WILL NOT receive any review

## or updates from the Ubuntu security team.

# deb http://de.archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse

# deb-src http://de.archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu breezy-security main restricted

deb-src http://security.ubuntu.com/ubuntu breezy-security main restricted

deb http://security.ubuntu.com/ubuntu breezy-security universe

deb-src http://security.ubuntu.com/ubuntu breezy-security universe

Lakukan update sistem denga perintah berikut :

#apt-get update

#apt-get upgrade

5.Pastikan SSH daemon telah terinstall

#apt-get install ssh openssh-server

6.Selanjutnya kita akan bekerja melalui ssh client seperti putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/). Anda diharapkan telah mahir memakai editor standar *nix seperti vi atau pico. Jika tidak, sebaiknya Anda tetap bekerja melalui GUI Linux.

7.Tambahkan user usrquota dan group grpquota pada sistem Linux.

8.Instalasi Quota

Karena kita akan memakai sistem Linux sebagai file dan printe server, maka kita perlu menetapkan kuota pemakaian agar pemakaian ruang harddisk lebih efisien.

Lakukan instalasi paket quota (jika belum terinstall).

#apt-get install quota

Buka file /etc/fstab. Penulis memberikan contoh pada sistem milik penulis.

# /etc/fstab: static file system information.

#

#
proc            /proc           proc    defaults        0       0
/dev/sda3       /               ext3    defaults,errors=remount-ro,usrquota,grpquota 0       1
/dev/sda1       /boot           ext3    defaults        0       2
/dev/sda4       /home            ext3    defaults,usrquota,grpquota        0       2
/dev/sda2       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 ro,user,noauto  0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

Jalankan perintah berikut untuk memeriksa setting fstab.

#touch /quota.user /quota.group
#chmod 600 /quota.*
#mount -o remount /
#touch /home/quota.user /home/quota.group
#chmod 600 /home/quota.*
#mount -o remount /home
#quotacheck -avugm
#quotaon -avug

9.Lakukan instalasi paket SAMBA

Jalankan perintah apt-get untuk melakukan instalasi paket SAMBA.

#apt-get install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53 winbind smbclient

Contoh isi file /etc/samba/samba.conf.

[global]

workgroup = MYWORKGROUP

netbios name = SERVER1

server string = %h server (Samba, Ubuntu)

passdb backend = tdbsam

security = user

username map = /etc/samba/smbusers

name resolve order = wins bcast hosts

domain logons = yes

preferred master = yes

wins support = yes

# Set CUPS for printing

printcap name = CUPS

printing = CUPS

# Default logon

logon drive = H:

logon script = scripts/logon.bat

logon path = server1profile%U

# Useradd scripts

add user script = /usr/sbin/useradd -m %u

delete user script = /usr/sbin/userdel -r %u

add group script = /usr/sbin/groupadd %g

delete group script = /usr/sbin/groupdel %g

add user to group script = /usr/sbin/usermod -G %g %u

add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u

idmap uid = 15000-20000

idmap gid = 15000-20000

# sync smb passwords woth linux passwords

passwd program = /usr/bin/passwd %u

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

passwd chat debug = yes

unix password sync = yes

# set the loglevel

log level = 3

[homes]

comment = Home

valid users = %S

read only = no

browsable = no

[printers]

comment = All Printers

path = /var/spool/samba

printable = yes

guest ok = yes

browsable = no

[netlogon]

comment = Network Logon Service

path = /home/samba/netlogon

admin users = Administrator

valid users = %U

read only = no

[profile]

comment = User profiles

path = /home/samba/profiles

valid users = %U

create mode = 0600

directory mode = 0700

writable = yes

browsable = no

Catatan :

a.Variabel netbios name harus sama dengan hostname.

b.Variabel workgroup adalah nama workgroup yang digunakan oleh komputer-komputer berbasis Windows. Dalam hal ini penulis memakai nama MYWORKGROUP.

c.Variabel logon drive menunjukkan drive letter yang ditampilkan pada Windows Explorer. Penulis memakai huruf H.

d.Variabel login script menunjukkan program script Windows yang dijalankan pada saat client Windows login.

Buat direktori untuk logon beserta profiles-nya.

#mkdir /home/samba
#mkdir /home/samba/netlogon
#mkdir /home/samba/profiles
#mkdir /var/spool/samba
#chmod 777 /var/spool/samba/
#chown -R root:users /home/samba/
#chmod -R 771 /home/samba/

Restart servis SAMBA

#/etc/init.d/samba restart

Edit file /etc/nsswitch.conf pada baris berikut dari

hosts: files dns

menjadi

hosts: files wins dns

Tambahkan alamat IP client-client Windows ke dalam file /etc/hosts.

192.168.0.100 server1

192.168.0.110 workstation1

192.168.0.111 workstation2

192.168.0.112 workstation3

192.168.0.113 workstation4

Tambahkan user root yang akan menjadi SAMBA domain Administrator kedalam database SAMBA.

#smbpasswd -a root

Buat file /etc/samba/smbusers dan tambahkan baris kedalamnya dengan menjalankan :

#echo “root = Administrator” > /etc/samba/smbusers

Sekarang kita lakukan uji coba seperti berikut :

#smbclient -L localhost -U%

Output yang diharapkan kira-kira seperti ini :

Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.14a-Ubuntu]

Sharename       Type      Comment

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

netlogon        Disk      Network Logon Service

print$          Disk      Printer Drivers

IPC$            IPC       IPC Service (server1 server (Samba, Ubuntu))

ADMIN$          IPC       IPC Service (server1 server (Samba, Ubuntu))

Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.14a-Ubuntu]

Server               Comment

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

SERVER1              server1 server (Samba, Ubuntu)

Workgroup            Master

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

MDKGROUP             IPRG

MYWORKGROUP          SERVER1

Lakukan pemetaan default domain group yang ada pada sistem Windows dengan perintah berikut :

#net groupmap modify ntgroup=”Domain Admins” unixgroup=root
#net groupmap modify ntgroup=”Domain Users” unixgroup=users
#net groupmap modify ntgroup=”Domain Guests” unixgroup=nogroup

10.Menambahkan user ke domain SAMBA

Sekarang saatnya bagi kita untuk menambahkan user pada domain SAMBA. Misalnya user bernama devratt. Ada dua tahapan untuk menambahkan user pada domain SAMBA, yaitu menambah user pada sistem Linux (server SAMBA) dan melakukan setting password untuk user tersebut.

Lakukan penambahan user Linux.

#useradd devratt -m -G users

Tambahkan password untuk user devratt pada database SAMBA.

#smbpasswd -a devratt

11.Menambahkan direktori sharing

Sekarang kita akan melakukan penambahan direktori bersama yang akan dijadikan tempat untuk penyimpanan file.

Buat direktori dan setting ijin aksesnya.

#mkdir -p /home/shares/allusers
#chown -R root:users /home/shares/allusers/
#chmod -R ug+rwx,o+rx-w /home/shares/allusers/

Buka file /etc/samba/samba.conf dan tambahkan baris berikut :

[allusers]

comment = All Users

path = /home/shares/allusers

valid users = @users

force group = users 

create mask = 0660

directory mask = 0771

writable = yes

Restart servis SAMBA.

#/etc/init.d/samba restart

12.Instalasi CUPS

Sekarang kita akan menambah fungsi server SAMBA, yaitu menjadi print server yang dapat dipakai bersama oleh semua client Windows.

Lakukan instalasi CUPS jika Anda belum melakukannya.

#apt-get install cupsys cupsys-client cupsys-driver-gimpprint cupsys-driver-gimpprint-data defoma fontconfig foomatic-db foomatic-filters libcupsimage2 libexpat1 libfontconfig1 libfreetype6 libgimpprint1 libjpeg62 libpaper1 libpng12-0 libpoppler0c2 libslp1 libtiff4 patch perl perl-modules ttf-bitstream-vera ucf

Catatan : semue perintah diatas Anda ketikkan dalam satu baris.

Agar server CUPS dapat diakses lewat web, lakukan perubahan pada file /etc/cups/cupsd.conf dan ubah menjadi seperti berikut pada bagian Network Options.

Listen 127.0.0.1:631

Listen 192.168.0.100:631

Pada bagian Security Options, ubah AuthGroupName menjadi shadow.

AuthGroupName shadow

Jika ingin membatasi akses web server CUPS dari client tertentu, misalnya dari komputer admin (IP 192.168.0.70), tambahkan alamat IP 192.168.0.70 kedalam bagian security options dan dan set AuthClass menjadi Group.

<Location /admin>

#

# You definitely will want to limit access to the administration functions.

# The default configuration requires a local connection from a user who

# is a member of the system group to do any admin tasks.  You can change

# the group name using the SystemGroup directive.

#

AuthType Basic

AuthClass Group

## Restrict access to local domain

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

Allow From 192.168.0.70

#Encryption Required

</Location>

Tambahkan user cupsys kedalam group shadow.

#adduser cupsys shadow

Restart servis CUPS

#/etc/init.d/cupsys restart

Sekarang server CUPS dapat diakses lewat web pada komputer admin (IP 192.168.0.70).

Buka web browser dan arahkan ke alamat http://192.168.0.100:631. Login sebagai root dan gunakan password root.

Catatan : Jika printer yang Anda miliki tidak mempunyai driver untuk Linux, silakan pilih print manufacturer RAW dan install driver yang disertakan (biasanya hanya driver versi Windows) pada masing-masing client Windows. Cara ini hanya bisa digunakan apabila printer hanya diakses melalui client Windows.

Lakukan penambahan printer dengan memakai perintah :

#cupsaddsmb -a

Penambahan printer dapat juga dilakukan melalui halaman web. Segala pertanyaan, saran, dan kritik, kirim ke hasyim0cyber@gmail.com


Aksi

Information

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




%d blogger menyukai ini: