PDC dengan SAMBA + LDAP pada ubuntu 14.04 (part 2)

4
2585

hai sobat sekolahlinux jumpa lagi di part2 dari tutorial pdc kali ini, tutorial ini melanjutkan dari tutorial sebelumnya yang berada di link dibawah ini, jadi jangan lupa baca part1 ya hehe kalau ga ya ga bisa runing nanti ldapnya 😀

untuk sekedar mengingatkan berikut ini topologinya

Samba + LDAP, PDC Server
OS: Ubuntu 14.04
IP: 192.168.1.10
Hostname: pdc.sekolahlinux.lokal
Guest PDC
OS: Windows 7
IP: 192.168.1.50

jangan lupa aktifkan mode su / root ya 😀

akbaribnu@pdc:~$ sudo -i
[sudo] password for akbaribnu:
root@pdc:~#

jika sudah jalankan command ini

apt-get install libnss-ldap

nanti akan tampil gui seperti dibawah, lalu masukkan hostname yang kita buat dan isikan seperti dibawah ini, pilih OK lalu enter

Screenshot from 2015-08-18 14:50:47

masukan domain atau isi seperti dibawah menyesuaikan dengan yang anda buat, pilih OK lalu enterScreenshot from 2015-08-18 14:51:06

disini saya menggunakan LDAP versi 3, karena defaultnya itu 😀 pilih OK lalu enterScreenshot from 2015-08-18 14:51:10

pada halaman ini pilih Yes lalu enterScreenshot from 2015-08-18 14:51:29

pada pilihan dibawah pilih No lalu enterScreenshot from 2015-08-18 14:51:31

pada halaman dibawah masukkan LDAP account untuk root nya contoh seperti dibawah, jika sudah pilih OK lalu enter Screenshot from 2015-08-18 14:52:01

lalu masukkan LDAP root / admin password yang kita buat di awal, jika sudah pilih OK lalu enterScreenshot from 2015-08-18 14:52:08

jika sudah maka tahap selanjutnya menjalankan command dibawah ini

auth-client-config -t nss -p lac_ldap

lalu jalankan command ini

pam-auth-update

nanti akan muncul tampilan dibawah ini, pilih OK lalu tekan enterScreenshot from 2015-08-18 15:18:53

jika sudah selanjutnya adalah install samba, cara seperti dibawah ini

apt-get install samba samba-doc smbldap-tools

jika sudah selanjutnya adalah import samba schema ke LDAP, commandnya seperti dibawah ini

root@pdc:~# cp /usr/share/doc/samba-doc/examples/LDAP/samba.ldif.gz /etc/ldap/schema/
root@pdc:~# gzip -d /etc/ldap/schema/samba.ldif.gz
root@pdc:~# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif
adding new entry "cn=samba,cn=schema,cn=config"

root@pdc:~#

lalu selanjutnya kita akan membuat file samba_indices.ldif

vi /etc/ldap/schema/samba_indices.ldif

lalu isi filenya dengan code dibawah ini

dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub

lalu jalankan command dibawah untuk import scriptnya

root@pdc:~# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba_indices.ldif
modifying entry "olcDatabase={1}hdb,cn=config"

root@pdc:~#

jika sudah jalankan command dibawah untuk copy file smbldap.conf dan smbldap_bind.conf yang nanti akan kita konfig

root@pdc:~# cp /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz /etc/smbldap-tools/
root@pdc:~# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/
root@pdc:~# gzip -d /etc/smbldap-tools/smbldap.conf.gz

buat dulu folder untuk netlogon dan roaming profile yang nanti akan kita gunakan pada rule smb.cfg

cd /home
mkdir profiles
mkdir netlogon

chmod 1777 profiles

langkah selanjutnya adalah mengetahui SID samba domain kita yang nanti akan kita gunakan, commandnya seperti dibawah

root@pdc:~# net getlocalsid
SID for domain PDC is: S-1-5-21-4588484-3971118491-3567516284

root@pdc:~#

copy SID diatas, lalu selanjutnya kita akan mengedit file smbldap.conf

vi /etc/smbldap-tools/smbldap.conf
SID="S-1-5-21-4588484-3971118491-3567516284" ## Ganti Dengan SID yang tadi kita dapatkan ##
sambaDomain="sekolahlinux"  ## Masukan domain  ##
#slaveLDAP="ldap://pdc.sekolahlinux.lokal/"  ## nonaktifkan perintah ini dengan memberi pagar / comment ##
masterLDAP="ldap://pdc.sekolahlinux.lokal/"  ## masukan domain ldap yang tadi kita buat ##
ldapTLS="0" ## nonaktifkan mode TLS ##
verify="none"  ## rubah menjadi "none"
clientcert="/etc/smbldap-tools/smbldap-tools.sekolahlinux.lokal.pem"
clientkey="/etc/smbldap-tools/smbldap-tools.sekolahlinux.lokal.key"
suffix="dc=sekolahlinux,dc=lokal"
userSmbHome="PDC%U"   ## masukan hostname yang kita gunakan ##
userProfile="PDCprofiles%U"  ## masukan hostname yg kita gunakan ##
userHomeDrive="H:"  ## Set Home drive yang akan kita gunakan ##
mailDomain="sekolahlinux.lokal"

selanjutnya kita akan mengedit file smbldap_bind.conf

sudo vi /etc/smbldap-tools/smbldap_bind.conf
#slaveDN="cn=Manager,dc=example,dc=com"  ## nonaktifkan baris ini dengan memberi tanda pagar / comment ##
#slavePw="secret"  ## nonaktifkan baris ini dengan memberi tanda pagar / comment ##
masterDN="cn=admin,dc=sekolahlinux,dc=lokal"  ## Enter LDAP admin username and LDAP suffixes ##
masterPw="PasswordLDAP"  ## Masukkan LDAP admin / root password kalian ##

lalu selanjutnya masukan perintah populate LDAP database seperti dibawah

root@pdc:~# smbldap-populate
Populating LDAP directory for domain sekolahlinux (S-1-5-21-4588484-3971118491-3567516284)
(using builtin directory structure)

entry dc=sekolahlinux,dc=LOKAL already exist.
entry ou=Users,dc=sekolahlinux,dc=LOKAL
entry ou=Groups,dc=sekolahlinux,dc=LOKAL
entry ou=Computers,dc=sekolahlinux,dc=LOKAL
entry ou=Idmap,dc=sekolahlinux,dc=LOKAL
entry sambaDomainName=sekolahlinux,dc=sekolahlinux,dc=LOKAL  Updating it...
entry uid=root,ou=Users,dc=sekolahlinux,dc=LOKAL
entry uid=nobody,ou=Users,dc=sekolahlinux,dc=LOKAL
entry cn=Domain Admins,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Domain Users,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Domain Guests,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Domain Computers,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Administrators,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Account Operators,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Print Operators,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Backup Operators,ou=Groups,dc=sekolahlinux,dc=LOKAL
entry cn=Replicators,ou=Groups,dc=sekolahlinux,dc=LOKAL

Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
Retype new password:

jika sudah coba lihat samba group apakah sudah tercreate atau belum pada server kita

root@pdc:~# getent group
[....]
Domain Admins:*:512:root
Domain Users:*:513:
Domain Guests:*:514:
Domain Computers:*:515:
Administrators:*:544:
Account Operators:*:548:
Print Operators:*:550:
Backup Operators:*:551:
Replicators:*:552:
root@pdc:~#

nah jika sudah sekarang saatnya mengkonfigurasi samba :D, untuk caranya bisa mengikuti step dibawah ini.

pertama copykan dulu smb.conf versi dari smbldap-tools

cp /usr/share/doc/smbldap-tools/examples/smb.conf.example /etc/samba/smb.conf

jika sudah maka kita edit file smb.c

vim /etc/samba/smb.conf

setelah itu pastikan isi dari file konfigurasinya seperti dibawah dan kalian perlu sesuaikan dengan domain ldap dan hostname yg kalian buat

root@pdc:/home/sales/share# cat /etc/samba/smb.conf

[global]
	workgroup = sekolahlinux  ##nama domain yang akan kita gunakan
	netbios name = PDC  ##nama hostname server samba kita

	deadtime = 10

	log level = 1
	log file = /var/log/samba/log.%m  ##letak file log samba (%m itu berarti netbios dari client)
	max log size = 5000
	debug pid = yes
	debug uid = yes
	syslog = 0
	utmp = yes

	security = user
	domain logons = yes
	os level = 64
	logon path = %Nprofiles%U  ##letak folder dan file roaming profiles, (profiles = [profiles])
	logon home = %N%U  ##auto mapping/mount folder home user, ketika user login di client
	logon drive = H:  ##default drive untuk folder home
	logon script =

	passdb backend = ldapsam:"ldap://pdc.sekolahlinux.lokal/"  ##alamat LDAP server
	ldap ssl = off  ##menonaktikan mode ssl untuk koneksi ke LDAP server
	ldap admin dn = cn=admin,dc=sekolahlinux,dc=lokal  ##LDAP admin account yang kita buat di LDAP server
	ldap delete dn = no

	## Sync UNIX password with Samba password
	## Method 1:
	ldap password sync = yes
	## Method 2:
	;ldap password sync = no
	;unix password sync = yes
	;passwd program = /usr/sbin/smbldap-passwd -u '%u'
	;passwd chat = "Changing *nNew password*" %nn "*Retype new password*" %nn"

	ldap suffix = dc=sekolahlinux,dc=lokal  ##LDAP domain suffix
	ldap user suffix = ou=Users
	ldap group suffix = ou=Groups
	ldap machine suffix = ou=Computers
	ldap idmap suffix = ou=Idmap

	add user script = /usr/sbin/smbldap-useradd -m '%u' -t 1
	rename user script = /usr/sbin/smbldap-usermod -r '%unew' '%uold'
	delete user script = /usr/sbin/smbldap-userdel '%u'
	set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
	add group script = /usr/sbin/smbldap-groupadd -p '%g'
	delete group script = /usr/sbin/smbldap-groupdel '%g'
	add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g'
	delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
	add machine script = /usr/sbin/smbldap-useradd -w '%u' -t 1

[homes]
	comment = Home Directories
	browseable = no
	read only = no
	create mask = 0700
	directory mask = 0700
	valid users = %S

[NETLOGON]
	path = /home/netlogon
	browseable = no
	share modes = no

[profiles]
	comment = Users profiles
	path = /home/profiles
	read only = No
	profile acls = Yes
	hide files = /desktop.ini/
	browseable = No

[sekolahlinux]
	path = /home/sales
	comment = Sedona Real Estate Sales Data
	read only = No
	profile acls = Yes
	valid users = @atasan, suharti  ##masukkan user/group yang diizinkan mengakses folder
	admin users = suharti    ##user/group (admin users) harus terdaftar juga di (valid users)
	create mask = 0644  ##ketika user membuat file akan otomatis di set ke 0644
	directory mask = 0770  ##ketika user membuat folder akan otomatis di set ke 0770
	force directory mode = 0770
  • *user yang terdaftar pada “admin users” di folder share harus juga terdaftar di valid users
  • *dalam penulisan group untuk didaftarkan pada (valid users / admin users) harus diawali “@” untuk membedakan user dan group
  • *user yang akan dijadikan pada “admin users” bisa user biasa tanpa harus masuk ke group Administrators.
  • *user admin bisa melakukan segalanya didalam folder mulai dari membaca menulis menghapus, sedangkan valid user hanya bisa membaca dan copy file tersebut tanpa bisa membuat dan mengedit. kecuali kita membuat folder khusus yang kita set permision ke user tersebut.

agar user dewakomputer dapat menulis file didalam folder sales saya membuat 1 folder dan saya beri nama dewakomputer lalu saya set chown dewakomputer:root dan chmod 770, fungsinya agar hanya user dewakomputer dan “admin users” yang dapat masuk ke folder dewakomputer dan menulis file, nanti sisanya tinggal bagaimana kita memainkan permision ini 😀

root@pdc:~# ls -alh /home/sales/
total 16K
drwxr-xr-x  7 root          root 4.0K Sep  2 16:39 .
drwxr-xr-x 12 root          root 4.0K Sep  2 16:50 ..
drwxrwx---  2 dewakomputer  root 4.0K Sep  3 12:34 dewakomputer
drwxr-xr-x  2 root          root 4.0K Sep  3 12:35 share
root@pdc:~#

jika sudah di save, maka sekarang restart service smb dan nmb

service smbd restart
service nmbd restart

jika sudah sekarang kita akan membuat group dan user yang mana nantinya digunakan untuk pc client join domain dan login ke domain PDC yang kita buat

root@pdc:~# smbldap-useradd -a -m -P dewakomputer
Changing UNIX and samba passwords for dewakomputer
New password:
Retype new password:

root@pdc:~# smbldap-groupadd -a atasan

jika sudah sekarang kita akan memasukkan user yang kita buat ke dalam group yang kita buat dengan perintah dibawah

root@pdc:~# smbldap-groupmod -m dewakomputer atasan
root@pdc:~# smbldap-groupmod -m dewakomputer1 atasan

*ada 2 cara yang bisa kita gunakan agar user bisa digunakan sebagai login ketika client mau join ke domain yang kita buat di samba

1. memberi previlage ke user agar bisa digunakan sebagai login saat client mau join ke domain yang dibuat di samba

net sam rights grant dewakomputer SeMachineAccountPrivilege

2. membuat user sendiri dan di masukkan ke group administrator

root@pdc:~# smbldap-useradd -a -m -P sysadmin
Changing UNIX and samba passwords for sysadmin
New password:
Retype new password:

lalu masukkan user sysadmin ke group Administrators samba

root@pdc:~# smbldap-groupmod -m sysadmin Administrators

fungsi user sysadmin nantinya bisa juga sebagai user khusus yang akan digunakan ketika client meminta bergabung atau join ke domain samba yang kita buat.

oke sampai sini selesai sekarang saatnya kita konfigurasi komputer client yang nantinya akan join ke domain yang kita buat, dalam hal ini saya menggunakan windows 7 sebagai clientnya

  • pertama kita harus menambahkan beberapa registry pada regedit di windows, buka regedit, lalu pada regedit pilih / pergi ke HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> LanmanWorkstation -> Parameters.
  • lalu jika sudah tambahkan 2 DWORD baru, dan beri nama “DomainCompatibilityMode” dan “DNSNameResolutionRequired“. dan set values untuk “DomainCompatibilityMode” dengan angka 1, dan “DNSNameResolutionRequired” dengan angka 0.

jika sudah ikuti petunjuk gambar dibawah jika ingin join ke domain yang kita buat pada samba server

Screenshot from 2015-08-26 10:05:45 Screenshot from 2015-08-26 10:05:54 Screenshot from 2015-08-26 10:06:06 Screenshot from 2015-08-26 10:06:17 Screenshot from 2015-08-26 10:06:29 Screenshot from 2015-08-26 10:06:50 Screenshot from 2015-08-26 10:06:54 Screenshot from 2015-08-26 10:06:59 Screenshot from 2015-08-26 10:07:03 Screenshot from 2015-08-26 10:12:01 Screenshot from 2015-08-26 10:12:07 Screenshot from 2015-08-26 10:12:10 Screenshot from 2015-08-26 10:19:02 Screenshot from 2015-08-26 10:21:03 Screenshot from 2015-08-26 10:21:08

nah kita akhirnya berhasil join dan jika kita lihat ada folder share secara default 😀 yang akan termount pada client kita. seperti gambar diatas 😀

oke sekian tutorial kita kali ini 😀 ,  semoga bermanfaat ya :D. kalau ada yg salah atau kurang paham silahkan comment dibawah

sumber: www.unixmen.comhelp.ubuntu.com, google

 

 

4 COMMENTS