Pada saat menulis ini, samba share ini sudah berjalan pada mesin production. Dan dalam hal ini saya ingin menshare dengan rekan-rekan sekalian yang membutuhkan fileserver yang menggunakan aplikasi open source dengan menggunakan OS Ubuntu Server 14.04 64bit dan Samba.
Apabila ada rekan-rekan yang ingin mengetahui lebih detail tentang ubuntu dan perkembangannya, saya juga share tulisan-tulisan saya di bawah ini :
dan untuk membangun Active Directory dengan menggunakan Ubuntu Server 14.04 harap membaca link berikut terlebih dahulu :
Dan anda memerlukan untuk membangun DNS Server menggunakan Ubuntu Server 14.04 bisa membaca link berikut di bawah :
Jika sudah selesai semua membaca link tersebut, mari kita lanjutkan tahap-tahap konfigurasi Samba Share dengan Active Directorynya.
Tahap 1
Pastikan Ubuntu mendapatkan update terbaru dengan menggunakan perintah berikut :
$ sudo apt-get update && apt-get upgrade -y
$ sudo reboot
Tahap 2
Merubah konfigurasi network dengan menggunakan ip static
$ sudo vim /etc/network/interfaces
Pastikan pada baris berikut
dns-nameservers → diisi dengan ip active directory-nya
dns-search → namadomain.test
Setelah itu lakukan perintah berikut :
$ sudo reboot
Tahap 3
Lakukan instalasi berikut :
$ sudo apt-get install ntp krb5-user samba smbfs smbclient winbind
Pada krb5, Kerberos akan menanyakan beberapa hal tentang domain kita dan user yang berhak akses ke domain tersebut. Hal ini diperlukan yang nantinya akan menjadi file konfigurasi server kita.
Tahap 4
Konfigurasi NTP
$ sudo vim /etc/ntp.conf
Pada baris berikut di bawah, harap tambahkan satu baris di bawahnya ip server active directory kita
-------------------------------------------
# Specify one or more NTP servers.
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
server → ip server active directory
-------------------------------------------
Tahap 5
Konfigurasi resolve.conf
$ sudo vim /etc/resolv.conf
Pastikan baris berikut sudah terupdate, jika belum harap di edit sesuai yang di bawah :
nameserver → ip active directory
search → namadomain.test
Tahap 6
Konfigurasi krb5
$ sudo vim /etc/krb5.conf
Pada bagian ini berikut bagian yang harus di edit, berikut keterangannya :
[libdefaults]
default_realm = NAMADOMAIN.TEST (huruf besar semua)
[realms]
NAMADOMAIN.TEST = {
kdc = IP DOMAIN
admin_server = NAMADOMAIN.TEST (HURUF BESAR SEMUA)
Tahap 7
Lakukan perintah berikut :
$ sudo kinit administrator@NAMADOMAIN.TEST
Dalam perintah ini nanti kita akan diminta memasukkan password domain kita dengan privilage administrator. Setelah memasukkan passwordnya maka akan tersave di dalam konfigurasi krb.
Untuk pengecekannya harap melakukan perintah :
$ sudo klist
Maka akan muncul tampilan seperti di bawah ini :
Ticket
cache: xxx
Default principal:
Administrator@NAMADOMAIN.TEST
Valid starting
Expires Service principal
DATE
DATE
XXX/NAMADOMAIN.TEST
renew until DATE
Tahap 8
Lakukan perintah berikut :
$ sudo vim /etc/nsswitch.conf
Kemudian pada baris berikut di edit sesuai dengan di bawah ini :
passwd: compat winbind
group: compat winbind
shadow: compat winbind
Tahap 9
Tahap selanjutnya adalah melakukan konfigurasi Sambanya dengan mengedit /etc/samba/smb.conf, pastikan di backup terlebih dahulu smb.conf-nya sebelum dilakukan edit.
$ sudo vim /etc/samba/smb.conf
Pada bagian-bagian berikut yang harus di edit
[global]
workgroup = NAMADOMAIN
security = ads
realm = NAMADOMAIN.TEST
############ Misc ############
# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
idmap config NAMADOMAIN:backend = rid
idmap config NAMADOMAIN:range = 10000-9999
winbind enum users = yes
winbind enum groups = yes
# This way users log in with username instead of username@example.org
winbind use default domain = yes
# Inherit groups in groups
winbind nested groups = yes
winbind refresh tickets = yes
winbind offline logon = true
# Becomes /home/example/username
template homedir = /home/%D/%U
# No shell access
# template shell = /bin/false
client use spnego = yes
client ntlmv2 auth = yes
Kemudian setelah itu lakuka restart beberapa service :
$ sudo /etc/init.d/winbind restart
$ sudo /etc/init.d/nmbd restart
$ sudo /etc/init.d/smbd restart
Tahap 10
Setelah selesai melakukan restart semua service di atas maka selanjutnya adalah melakukan join domain server ini dengan server active directory
$ net ads join -U administrator@NAMADOMAIN.TEST
Kemudian kita diminta memasukkan password administrator, setelah selesai di input maka akan muncul seperti di bawah ini.
Joined
'HOSTNAME' to realm 'namadomain.test'
Jika ada error DNS, hal itu bisa di abaikan. Pastikan kita konfigure DNS-nya dengan benar dengan menambahkan A record dan ptr-nya. Namun dilain sisi hal join domain sudah berhasil
Tahap 11
Lakukan restart beberapa service :
$ sudo /etc/init.d/winbind restart
$ sudo /etc/init.d/nmbd restart
$ sudo /etc/init.d/smbd restart
Dan lakukan update PAM :
$ sudo pam-auth-update
Kemudian lakukan restart server keseluruhan untuk mendapatkan hasil optimal
Tahap 12
Setelah selesai restart, kemudian lakukan pengecekan apakah sudah bisa melakukan query user/group terhadap active directory dengan perintah
Query group yang ada di active directory
$ wbinfo -g
Jika muncul seperti di bawah, maka koneksi ke join domain ke active directory sudah berhasil 100% ;)
allowed rodc password replication group
enterprise read-only domain controllers
denied rodc password replication group
read-only domain controllers
group policy creator owners
ras and ias servers
domain controllers
enterprise admins
domain computers
cert publishers
dnsupdateproxy
domain admins
domain guests
schema admins
domain users
dnsadmins
Tahap selanjutnya adalah membuatkan directory yang akan diakses oleh divisi-divisi tertentu dengan user-user terkait sesuai dengan yang ada di Active Directory dengan perintah berikut :
mkdir -p /sharefoder/{accounting,marketing,logistik}
chmod -p 0770 /sharefolder
chgrp -R “User Domain” /sharefolder/
Jika ingin menambahkan hanya person dan divisi yang bersangkutan saja yang bisa akses folder bersangkutan harap menambahkan seperti contoh di bawah :
chgrp -R “User Domain” /sharefolder/accounting
chown -R “User Domain” /sharefolder/accounting/anto
Kemudian kita akan lakukan konfigurasi samba.conf-nya seperti di bawah
[Accounting]
comment = Accounting
path = /sharefolder/accountng
valid users = andi,anto
force group = accounting
writable = yes
read only = no
force create mode = 0660
create mask = 0777
directory mask = 0777
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
[Marketing]
comment = Marketing
path = /sharefolder/marketing
valid users = yudis, tegar
force group = accounting
writable = yes
read only = no
force create mode = 0660
create mask = 0777
directory mask = 0777
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
[Logistik]
comment = Logistik
path = /sharefolder/logistik
valid users = rian, rayi
force group = accounting
writable = yes
read only = no
force create mode = 0660
create mask = 0777
directory mask = 0777
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
Setelah semuanya selesai harap lakukan langkah berikut :
$ sudo /etc/samba/smbd restart
Jika ada penambahan sharefolder divisi lain, maka harap dilakukan restart seperti di bawah ini agar folder share list dapat terupdate
$ sudo /etc/samba/nmbd restart
Sekian tulisannya untuk saat ini dan selamat mencoba ;)
Jika menemukan permasalahan harap lihat pada /var/log/samba ya. Sampai jumpa di tulisan saya berikutnya :)
Salam,
Ref : beberapa referensi tulisan dan pengalaman pribadi dalam konfigurasi samba share dengan active directory tersebut menjadi sebuah mesin production
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H