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
masukan domain atau isi seperti dibawah menyesuaikan dengan yang anda buat, pilih OK lalu enter
disini saya menggunakan LDAP versi 3, karena defaultnya itu 😀 pilih OK lalu enter
pada halaman ini pilih Yes lalu enter
pada pilihan dibawah pilih No lalu enter
pada halaman dibawah masukkan LDAP account untuk root nya contoh seperti dibawah, jika sudah pilih OK lalu enter
lalu masukkan LDAP root / admin password yang kita buat di awal, jika sudah pilih OK lalu enter
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 enter
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
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.com, help.ubuntu.com, google
min punya saya waktu jalanin perintah “smbldap-populate” keluar eror “failed to search entry: invalid DN at /usr/sbin.smbldap-populate line 480”, mohon bantuannya min,
sudah benar mengikuti tutorial part1 nya atau belum..? os ubuntu yg digunakan versi berapa.? bisa tolong tampilkan keseluruhan pesan errornya.. nanti coba saya bantu
ka saya masih belum paham bedanya samba+ldap dengan samba saja apa ya ka, soalnya sama2 menambahkan user, yang saya tau kelebihan ldap bisa login menggunakan email. mohon jawabannya ka:)
apt-get install samba samba-doc smbldap-tools
samba-doc tidak bisa diinstall, itu sebenarnya apa? gimana caranya install itu bisa diesekusi?