OpenSUSE sebagai Primary Domain Controller (PDC) & File Server

Melakukan konfigurasi OpenSUSE menjadi Primary Domain Controller dan File Server adalah fungsi utama yang biasa dilakukan pada perusahaan yang ingin melakukan migrasi sistem servernya. Berikut adalah tutorial melakukan setting Samba pada OpenSUSE 10.2 agar OpenSUSE bisa bertindak sebagai pengganti Windows Server secara penuh. Artikel ini disumbangkan Vavai dan dirangkum dari 2 artikel terpisah pada blog Migrasi Windows Linux milik Vavai, yaitu “Samba Server sebagai Primary Domain Controller”

PERSIAPAN
- Install OpenSUSE 10.2.
Jika menggunakan distro linux lain tidak masalah. Mungkin ada beberapa perintah yang perlu disesuaikan.

- Buat Catatan Mengenai Beberapa Setting
Misalnya, nama domain yang akan digunakan. Dalam contoh ini saya menggunakan vavai.co.id. Jika perusahaan sudah memiliki PDC Windows Server yang sudah berjalan, cara paling aman adalah membuat domain baru yang mirip. Dalam kasus yang saya simulasikan kali ini, domain sebelumnya menggunakan vavai.com.

Pada dasarnya, hal ini untuk menghindari kemungkinan kalahnya Server Windows dalam memperebutkan posisi Primary Domain Controller melawan Server Linux yang baru kita buat. Takutnya, kita belum selesai melakukan setup server, ternyata Server Linux sudah mengumumkan dirinya sebagai PDC dan langsung meminta Windows Server berhenti berkuasa sebelum waktunya, hehehe…

Setting untuk memenangkan status sebagai PDC ada pada smb.conf yang akan kita konfigurasikan.

Contoh lain adalah untuk nama User Administrator (misalnya root password) dan lain sebagainya. Ini untuk menghindari gagalnya server Linux sewaktu disetup hanya gara-gara hal konyol ‘kelupaan password’ :-D.

LANGKAH-LANGKAH
1. Install Komponen Samba
Komponen Samba Server dapat diinstall melalui YAST. Ketik saja “Samba” pada kotak pencarian, kemudian install komponen yang diperlukan.

2. Edit smb.conf
OpenSuSE secara default meneyimpan setting samba pada /etc/samba. Buka file /etc/samba/smb.conf dengan text editor dan replace isinya dengan setting sebagai berikut :

[global]
log file = /var/log/samba/log.%L
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8129
admin users = root
domain master = yes
time server = yes
logon home = \%L\profiles%u
netbios name = server
writeable = yes
usershare max shares = 100
server string = Server Utama – Samba %v on %L
invalid users = bin,daemon,sys,man,postfix,mail,ftp
workgroup = vavai.co.id
logon path = \%L\profiles%u
os level = 65
create mode = 777
add machine script = /usr/bin/useradd -d /dev/null -g samba-clients -s /bin/false -M %u
preferred master = yes
directory mode = 777
log level = 2
domain logons = yes
# gunakan logon path untuk Windows NT/200x/XP
# gunakan logon home untuk Windows 9x
;logon script = logon.bat
[homes]
comment = Home Directories
browseable = no
read only = no

[netlogon]
path = /srv/samba/netlogon
browseable = no
public = no
writeable = no

[profiles]
path = /srv/samba/profiles
writeable = yes
create mask = 0700
directory mask = 0700
browseable = no

[sharedata]
comment = data public
writeable = yes
invalid users = bin,daemon,sys,man,postfix,mail,ftp
path = /srv/share-data

[Accounting]
comment = Data Accounting
valid users = acct-01, acct-02,acct-03,acct-04,acct-05,@it
create mode = 777
write list = acct-02,acct-03,acct-04,acct-05,tono,acct-01
path = /local/data-msa/Accounting
directory mode = 777

[HRD]
comment = Data HRD
valid users = hrd-01, hrd-02, hrd-03,@it
path = /local/data-msa/HRD

Keterangan untuk masing-masing opsi :
[global] : Opsi Utama
log file : Lokasi log yang terkait dengan aktivitas Samba
socket options : Nggak tahu ini buat apa, lupa euy :-D
admin users : Nama user yang bertindak sebagai Administrator
domain master : Bertindak sebagai master domain
time server : Bertindak sebagai server untuk pencocokan waktu
logon home : Nama direktori mapping user
netbios name : Nama yang tampil pada list My Network Places atau Network Neighborhood atau Samba
writeable : Permission
server string : Keterangan mengenai Server, berguna jika server > 1
invalid users : Nama User yang tidak boleh digunakan
workgroup : Nama workgroup / domain
logon path : Nama direktori logon script
os level : Level hak sebagai server domain controller. Rata-rata server Windows memiliki os level 32
create mode : Permission status untuk file yang baru dibuat di samba folder. Bisa disetup sesuai kebutuhan
add machine script : Script untuk penambahan client komputer
preferred master : bertindak sebagai master browser
directory mode : Permission status untuk folder yang baru dibuat di samba folder. Bisa disetup sesuai kebutuhan
domain logons : Menjadi PDC

Opsi Home, Netlogon dan Profiles digunakan untuk menyimpan konfigurasi setting masing-masing client.

Opsi Share Data, Accounting dan HRD adalah contoh folder yang dishare untuk user. Saya memberikan contoh dengan masing-masing perbedaan peruntukan.

[sharedata]
comment = data public
writeable = yes
invalid users = bin,daemon,sys,man,postfix,mail,ftp
path = /srv/share-data

[Accounting]
comment = Data Accounting
valid users = acct-01, acct-02,acct-03,acct-04,acct-05,@it
create mode = 777
write list = acct-02,acct-03,acct-04,acct-05,tono,acct-01
path = /local/data-msa/Accounting
directory mode = 777

[HRD]
comment = Data HRD
valid users = hrd-01, hrd-02, hrd-03,@it
path = /local/data-msa/HRD

Folder Sharedata untuk semua user
Folder Accounting hanya untuk user acct-01 s/d acct-05 (buat user di samba)
Folder HRD diperuntukan untuk bagian HRD (user name hrd-01 s/d hrd-03)

comment : Keterangan mengenai share folder
valid users : User yang berhak mengakses
create mode : Permission untuk file yang baru dibuat, bisa diubah sesuai kebutuhan
write list : User yang berhak baca & tulis
Path : Lokasi fisik pada harddisk server
directory mode : Permission untuk folder yang baru dibuat, bisa diubah sesuai kebutuhan

Dalam contoh, saya menggunakan 2 folder fisik, yaitu /srv dan /local. Hal ini karena harddisk /srv hanya berkapasitas 70 GB jadi saya menambah harddisk baru berkapasitas 250 GB dan saya mount sebagai /local.

Konfigurasi untuk hak user samba dapat lebih mudah disetup menggunakan webmin. Nanti kita membahasnya pada sesi lain.

Setelah setting smb.conf dibuat dan disimpan, sekarang kita bisa meminta SuSE menjalankan samba. Berikan perintah :

service samba start

Jika sudah berjalan, kita bisa meminta samba untuk melakukan load konfigurasi ulang dengan :

service samba restart

OK, satu tahap instalasi sudah selesai. Sekarang kita pindah ke bagian setting client untuk akses.

- Menambah group khusus untuk nama komputer
groupadd machine

- Menambah nama komputer client (contoh : nama komputer = hrd, nama user : hrd-01)
useradd -g machine -s /bin/false hrd$

- Mengunci user yang bersangkutan
passwd -l hrd$

- Menambah komputer ke Samba
smbpasswd -a -m hrd –> pastikan nama komputer tanpa tanda $

- Menambah nama user lokal di server
useradd hrd-01

- Merubah password
passwd hrd-01

- Memasukkan user lokal kedalam user samba
smbpasswd -a hrd-01

- Membuat home folder di lokasi profiles, sesuaikan dengan nama user
cd /srv/samba/profiles
mkdir hrd-01

- Merubah kepemilikan home folder tersebut
chown hrd-01 hrd-01/

Setelah selesai membuat user dan konfigurasinya, kita tinggal melakukan koneksi komputer klien ke Server yang baru kita setup.

- Jika klien berupa SuSE Linux, kita bisa menggunakan YAST | Network Services | Windows Domain Mem