ldap

Sangkalan: BlankOn Suroboyo saat penulisan masih dijahit sehingga tidak cocok untuk konsumsi rakyat jelata. Tulisan ini hanya untuk heker terutama admin universitas yang mengelola komputer Lab dan punya akses ke LDAP.

Saya senang karena sudah menonton Azrax dan sudah menang DoTA 2. Untuk merayakannya, saya ingin menyambungkan BlankOn Suroboyo Jahitan 1 (+pembaharuan) saya dengan LDAP universitas.

Langkah Sebelumnya

Pastikan pelayan LDAP telah menyala dan berfungsi. Untuk menjaga keamanan, sebaiknya LDAP disambungkan dengan koneksi TLS (port 636) bukan yang biasa (port 389). Untuk terhubung, ada dua cara, yakni menggunakan STunnel ke port 636 dan mengarahkan ke localhost:389, atau langsung terhubung ke pelayan LDAP.

Cara STunnel dilakukan karena biasanya GNUTLS (pustaka enkripsi selain OpenSSL) bermasalah dengan sertifikat yang-ditandatangani-sendiri (self-signed). Tapi, saya menghindari cara tersebut karena kurang jantan. Saya mau menyusahkan diri untuk bisa menemukan jalan keluarnya.

Langkah 1: Pasang Paket Autentikasi LDAP

Pasang langsung:

$ sudo apt-get install libpam-ldapd

Selesai.

Kok, gampang? Mana NSS dan bla… bla… bla…?

Iya, soalnya libpam-ldapd adalah paket yang terbaru menggantikan libpam-ldap.

Langkah 2: Ubah Konfigurasi

Ada beberapa konfigurasi yang harus diubah.

Langkah 2a: Konfigurasi NSLCD

Layanan libpam-ldapd yang baru menggunakan layanan nslcd sebagai pelayan autentikasi LDAP. Untuk itu, ubah konfigurasinya:

$ sudo $EDITOR /etc/nslcd

Yang pertama, ubah URL berikut:

uri ldap://127.0.0.1/

menjadi IP pelayan LDAP Anda.

Yang kedua, Ubah DN dasar pada baris berikut:

base dc=example,dc=com

menjadi DN dasar LDAP Anda.

Jika Anda menggunakan skema LDAPS (seperti yang saya sebutkan sebelumnya) dan pelayan server Anda menggunakan sertifikat sendiri, maka harus diubah agar NSLCD tidak meminta sertifikat yang valid. Pastikan baris berikut diaktifkan:

tls_reqcert never

Selesai.

Langkah 2b: Mengubah  nsswitch.conf

Mengubah layanan yang terdaftar di NSS agar menggunakan LDAP:

$  sudo vi /etc/nsswitch.conf

Ubah layanan passwd, group, dan shadow menjadi:

passwd: files ldap
group: files ldap
shadow: files ldap

Awalnya menggunakan compat, tapi lebih baik menggunakan files baru ldap menurut dokumentasi libpam-ldapd. Omong-omong, setiap baris itu artinya layanan passwd misalnya akan memeriksa ke berkas (/etc/passwd) terlebih dahulu sebelum ke LDAP. Anda bisa buat sebaliknya kalau mau.

Langkah 2c: Tambahkan Baris Sesi

Tambahkan satu baris untuk membuat direktori rumah bila belum ada.

$ echo "session     required      pam_mkhomedir.so skel=/etc/skel umask=0022" | sudo tee -a  /etc/pam.d/common-session

Baris ini akan menyebabkan pengguna yang login bila direktori rumahnya belum ada akan dibuat otomatis.

Langkah 3: Uji Coba

Anda tentunya tidak akan nekat langsung menjalankan LDAP, ‘kan?

Matikan layanan NSCD dan NSLCD:

$ sudo /etc/init.d/nscd stop
$ sudo /etc/init.d/nslcd stop

Lalu jalankan manual NSLCD dengan mengaktifkan debugging:

$ sudo nslcd -d

Lalu, pindah ke terminal lain untuk mencoba login sebagai pengguna LDAP.

Kalau misalnya berhasil dan tidak ada masalah, berhentikan NSLCD dan nyalakan kembali kedua layanan tersebut.

$ sudo /etc/init.d/nslcd start
$ sudo /etc/init.d/nscd start

Selesai.

Langkah 4: Ubah Penyambut LightDM

BlankOn menggunakan tematik Manokwari. Sangat indah memang, namun sayangnya tidak bisa digunakan untuk LDAP.

Hal ini karena pengguna LDAP belum ada di sistem saat ia pertama kali masuk. Padahal, penyambut BlankOn hanya menampilkan ikon pengguna yang sudah ada. Untuk itu, dengan sangat terpaksa penyambut diubah menjadi penyambut baku dari Debian.

$ sudo apt-get install lightdm-gtk-greeter

Lalu, ubah berkas berikut:

$ sudo $EDITOR /etc/lightdm/lightdm.conf

Ubah baris berikut:

greeter-session=lightdm-webkit-greeter

menjadi:

greeter-session=lightdm-gtk-greeter

Tinggal mengulang LightDM.

Langkah 5: Jalankan Sistem dengan LDAP

Lebih baik jalankan ulang mesin Anda untuk mencoba sebenarnya dan lihat hasilnya.

Tulisan ini akan diperbaharui dari waktu ke waktu bila memungkinkan.

Daftar Pustaka

Arthur de Jong ([NO YEAR], [NO MONTH] [NO DAY]). LDAP authentication with nss-pam-ldapd Retrieved Sept. 25, 2013 from Arthur de Jong: http://arthurdejong.org/nss-pam-ldapd/setup.
Debian WIKI Team (2012, Oct. 16). Configuring LDAP Authentication Retrieved Sept. 25, 2013 from Debian WIKI Team: https://wiki.debian.org/LDAP/PAM.
Zoke (2011, Nov. 5). How to change the LightDM theme/greeter?. Ask Ubuntu. Retrieved Sept. 25, 2013 from Ask Ubuntu: http://askubuntu.com/questions/75755/how-to-change-the-lightdm-theme-greeter.