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.