Berhubung notebook yang aku gunakan memiliki FingerPrint Reader device, rasanya sayang aja kalau nggak bisa aku gunakan di Ubuntu. Lagipula aku sekarang udah jarang menggunakan Windows di notebook yang biasa aku gunakan. Cuma berhubung notebook Toshiba Portege M600 ku memang dirancang untuk Windows, jadi ada beberapa fitur-fiturnya yang kalau mau digunakan di Ubuntu mesti diutak-atik sendiri, salah satunya ya FingerPrint Reader itu.
Setelah mencoba googling, aku temukan package yang bernama ThinkFinger (dapat dilihat di https://wiki.ubuntu.com/ThinkFinger). Menurut sumber tersebut package tersebut dapat digunakan di hampir semua notebook Lenovo/Thinkpad, Dell, dan Toshiba. Beruntung notebook punyaku masuk daftar :P
Instalasi
Menggunakan Package
Versi terakhir package Thinkfinger ini adalah 0.3. Versi 0.3 ini dapat diunduh dengan menambahkan
deb http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
deb-src http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
di /etc/apt/sources.list lalu kemudian jalankan
sudo apt-get install thinkfinger-tools libpam-thinkfinger
untuk melakukan proses instalasi
Menggunakan Source
- Unduh source Thinkfinger dari http://sourceforge.net/project/showfiles.php?group_id=179573
- Install package-package yang diperlukan untuk proses kompilasi:
- Membuat direktori yang akan menyimpan informasi biometric user: sudo mkdir /etc/pam_thinkfinger
- Extract source thinkfinger, lalu jalankan perintah berikut pada direktori thinkfinger untuk melakukan proses kompilasi dan instalasi:
- Jika semuanya berjalan dengan lancar, akan ditemukan file pam_thinkfinger.so di /lib/security
sudo apt-get install build-essential libtool libusb-dev libpam0g-dev pkg-config
sudo ./configure --prefix=/usr --sysconfdir=/etc --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger
sudo make
sudo make install
Menguji FingerPrint Reader
Untuk menguji apakah driver FingerPrint telah terinstall dengan sempurna, dapat digunakan aplikasi tf-tool. Perintah yang digunakan adalah tf-tool --acquire untuk melakukan scan sidik jari dan tf-tool --verify untuk menguji hasil scan yang diproses dari perintah tf-tool --acquire.
amphie@amphie:~$ sudo tf-tool --acquire
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig
Initializing... done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done.
Storing data (/tmp/test.bir)... done.
amphie@amphie:~$ sudo tf-tool --verify
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig
Initializing... done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)... done.
Result: Fingerprint does match.
Konfigurasi PAM (Pluggable Authentication Modules)
Agar dapat digunakan untuk proses autentikasi, maka perlu dilakukan konfigurasi pada PAM agar menggunakan Thinkfinger.
Modifikasi file /etc/pam.d/common-auth sehingga isinya seperti berikut: sudo tf-tool --add-user [nama-user]Menambahkan data sidik jari ke database dengan menggunakan perintah sudo tf-tool --verify-user [nama-user]Untuk melakukan verifikasi sidik jari dari database, dapat menggunakan perintah
auth required pam_unix.so try_first_pass nullok_secure
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig
Initializing... done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done.
Storing data (/etc/pam_thinkfinger/amphie.bir)... done.
amphie@amphie:~$ sudo tf-tool --verify-user amphie
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig
Initializing... done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)... done.
Result: Fingerprint does match.
Nah, sekarang FingerPrint Reader nya sudah dapat digunakan untuk login dari GDM atau ketika diminta password pada saat mengeksekusi perintah dengan menggunakan priveledge su seperti dibawah ini:
amphie@amphie:~$ sudo tf-tool --acquire
Password or swipe finger:
.
.
.
Beberapa masalah pada Tinkfinger-0.3
gksu/gksudo tidak berfungsi dengan benar. Ketika aplikasi dijalankan menggunakan priveledge su, seperti misalnya synaptic, tidak akan muncul prompt untuk memasukkan password di layar. Namun, pengguna harus melakukan autentikasi sidik jari agar aplikasi yang dijalankan bisa tampil di layar. Fingerprint tidak digunakan untuk meng-unlock screen yang telah di-lock. Untuk melakukan unlock pengguna harus mengetikkan password. Masalah ini terjadi karena direktori /etc/pam_thinkfinger tidak dapat diakses oleh pengguna selain root. Sementara itu aplikasi gnome-screensaver yang digunakan untuk me-lock screen tidak berjalan dengan priveledge root. Solusi dari masalah ini adalah sebagai berikut : Menambahkan group baru, misalnya fingerprint: Menyimpan baris-baris berikut ke dalam file /etc/udev/rules.d/60-thinkfinger.rules (perlu dilakukan reboot): Menambahkan user ke dalam group fingerprint: Membuat user menjadi owner file biometric nya (file [nama_user].bir): Memberikan akses readonly pada file biometric untuk user: Memberikan akses executeonly kepada setiap user untuk mengakses direktori /etc/pam_thinkfinger/:
Konon katanya masalah ini disebabkan karena gksu/gksudo 'tidak mengenali' prompt "Password or swipe finger:", tetapi hanya mengenali prompt "Password:".
Masalah ini dapat diselesaikan dengan menyunting file /pam/pam_thinkfinger.c dari source dan mengubah isi dari baris 181-184 menjadi seperti berikut:
if (pam_thinkfinger->isatty)
pam_prompt (pam_thinkfinger->pamh, PAM_PROMPT_ECHO_OFF, &resp, "Password or swipe your finger: ");
else
pam_prompt (pam_thinkfinger->pamh, PAM_PROMPT_ECHO_OFF, &resp, "Password: ");
Kemudian compile ulang source nya menggunakan cara yang telah dijelaskan diatas.
# SGS Thomson Microelectronics Fingerprint Reader
SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint"
# the also-needed uinput device
KERNEL=="uinput", MODE="0660", GROUP="fingerprint"
sudo gpasswd -a [nama_user] fingerprint
sudo chown [nama_user]:root /etc/pam_thinkfinger/[nama_user].bir
sudo chmod 400 /etc/pam_thinkfinger/[nama_user].bir
sudo chmod o+x /etc/pam_thinkfinger

0 comments:
Post a Comment