بسم الله الرحمن الرحيم

banner

Latar Belakang

Untuk dapat menggunakan fingerprint scanner, terlebih dahulu kalian harus memastikan apakah tipe dari fingerprint scanner yang kalian miliki telah didukung atau tidak. Kalian dapat melakukan pengecekan dengan mengunjungi link berikut ini: libfprint_supported_devices.

FingerPrint scanner dapat digunakan secara plug and play pada Arch Linux (dan beberapa distro tertentu yang saya sudah coba seperti Fedora) diatur oleh fprint project. Idenya adalah untuk membuat built-in fingerprint scanner pada beberapa jenis laptop dapat melakukan login dengan memanfaatkan PAM (Pluggable Authentication Modules).

Prasyarat

Untuk mengetahui tipe dan brand dari fingerprint scanner yang kalian miliki, gunakan command berikut ini,

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 138a:0017 Validity Sensors, Inc. VFS 5011 fingerprint sensor
Bus 001 Device 003: ID 04f2:b52c Chicony Electronics Co., Ltd
Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Dari keterangan di atas dapat terlihat bahwa fingerprint saya ada pada baris kedua.

Instalasi

Untuk dapat menggunakan fingerprint scanner, kalian membutuhkan paket bernama fprintd. Mungkin beberapa paket lain seperti imagemagick juga akan diperlukan sebagai dependensi.

$ sudo pacman -S fprintd libfprint

*libfprint adalah dependensi sari fprintd.

Konfigurasi

Setelah melakukan instalasi paket fprintd, lantas kita perlu melakukan beberapa konfigurasi. Kalian dapat memilih konfigurasi-konfigurasi apa saja yang kalian perlukan dari beberapa konfigurasi yang saya lakukan di bawah ini. Tidak harus semua dilakukan, pilih saja yang kalian butuhkan.

Login

Untuk kalian yang menggunakan Gnome 3.26, login manager diatur oleh GDM. Apabila kalian ingin menggunakan fingerprint scanner untuk login pada GDM, kalian dapat mengikuti langkah ini. Gnome sudah menyediakan fingerprint option yang dapat kalian atur pada Settings > Details > Users. Kalian akan melihat window seperti di bawah ini,

gambar_1

Gambar 1 - Settings > Details > Users

Kalian dapat melihat pada Gambar 1, terdapat Fingerprint Login option dengan nilai “Enabled”. Bagi teman-teman yang belum melakukan konfigurasi maka akan tertulis “Disabled”.

Untuk dapat mengaktifkan fingerprint login, kalian perlu membuka kunci dari Settings dengan meng-klik tombol “Unlock” yang terdapat pada top bar window Settings terlebih dahulu. Kemudian pilih Fingerprint Login, dan ikuti petunjuk untuk melakukan enroll terhadap sidik jari kalian.

Perhatian

Apabila fingerprint option tidak terdapat pada menu Settings, kalian dapat menambahkan username kalian ke dalam input group.

Dengan cara,

$ sudo usermod -aG input username

Ganti username dengan nama username kalian.

Pertanyaan

Apakah penulis juga menggunakan fingerprint scanner saat login?

Saya sendiri, menggunakan LightDM untuk login kedalam i3wm, dan saya tidak mengatur option fingerprint scanner untuk login ke dalam sistem. Karena alasan tertentu yang berhubungan dengan dekripsi direktori tertentu pada sistem, saya memilih untuk memasukkan password secara manual.

Lagipula memasukkan password pada login manager juga tidak sering kita lakukan seperti halnya memasukkan password sudo atau permission yang lainnnya. Maka dari itu saya teteap memilih untuk memasukkan password login secara manual. Hehehe 😁

Membuat Fingerprint Signature secara Manual

Bagi teman-teman yang tidak menggunakan Gnome seperti di atas, Ada 2 cara untuk membuat signature sidik jari kalian, yaitu dengan signature hanya 1 jari dan signature dengan semua jari (banyak jari).


Satu Jari (satu jari tertentu)

Untuk menambahkan signature 1 jari, defaultnya adalah telunjuk kanan.

$ fprintd-enroll username

*Ganti username dengan nama username kamu.

Untuk jari tertentu, gunakan flag -f dikuti nama jarinya.

Berikut ini daftar nama jari.

Left Fingers Right Fingers
left-thumb right-thumb
left-index-finger right-index-finger
left-middle-finger right-middle-finger
left-ring-finger right-ring-finger
left-little-finger right-little-finger
$ fprintd-enroll username -f nama_jari


Semua Jari (10 jari)

Atau, dengan membuat baru signature untuk semua jari, namun terlebih dahulu kita perlu menghapus signature yang sudah kita buat sebelumnya,

$ fprintd-delete username

*Ganti username dengan nama username kamu.

Selanjutnya, langkah memasukkan signature untuk semua jari,

$ for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f $finger username; done

*Ganti username dengan nama username kamu.

Kemudian, kalian akan diminta memasukkan 10 sidik jari dengan masing-masing 3x scan setiap jari.

Konfirmasi Fingerprint

Setelah kita mendaftarkan sidik jari, kita perlu melakukan konfirmasi, apakah sidik jari yang usdah kita inputkan dapat digunakan atau tidak.

$ fprintd-verify username
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger

Nah, kita diminta untuk melakukan scanning terhadap jari yang dimaksud.

Apabila benar, akan keluar tampilan seperti ini.

Verify result: verify-match (done)

Mengamankan FingerPrint Signature

Secara default, hasil enroll dari fingerprint scanner yang sudah kita buat dapat dengan mudah ditimpa dengan yang baru atau dihapus dengan perintah $ fprintd-delete, tanpa perlu terlebih dahulu menggunakan sudo permission. Kalian dapat mengubah aturan ini dengan memanfaatkan pengaturan pada Polkit rules.

Kita akan membuat file baru pada /etc/polkit-1/rules.d/ dengan isi hanya superuser yang dapat melakukan perubahan pada fingerprint signature.

$ sudo vim /etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
FILE/etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
1
2
3
4
5
polkit.addRule(function (action, subject) {
    if (action.id == "net.reactivated.fprint.device.enroll") {
        return subject.user == "root" ? polkit.Result.YES : polkit.result.NO
    }
})

Sekarang, untuk melakukan enroll fingerprint harus membutuhkan sudo permission terlebih dahulu.

PAM

Untuk menggunakan fingerprint scanner pada saat Terminal meminta kita memasukan password sudo, atau saat sistem meminta kita memasukkan password Polkit, kita perlu mengedit dan melakukan penambahan beberapa baris perintah pada isi dari file-file yang terdapat pada direktori /etc/pam.d/ berikut ini.

Sudo

Untuk menggunakan fingerprint pada saat menggunakan sudo,

$ sudo vim /etc/pam.d/sudo
FILE/etc/pam.d/sudo
#%PAM-1.0

auth  	 sufficient  pam_unix.so try_first_pass likeauth nullok
auth     sufficient  pam_fprintd.so

auth     include    system-auth
account  include    system-auth
session  include    system-auth

Letakkan pada bagian atas dari aturan (rules) yang sudah ada sebelumnya.

Tujuannya agar kita diminta untuk memasukkan password terlebih dahulu, apabila gagal, baru kita akan diminta fingerprint.

Kalau tidak ingin menginputkan password, langsung saja tekan Enter untuk melewati inputan password dan langsung ke permintaan fingerprint.

gambar_1

Polkit

Untuk menggunakan fingerprint pada saat ada aplikasi GUI yang membutuhkan akses superuser dengan bantuan Polkit,

$ sudo vim /etc/pam.d/polkit-1
FILE/etc/pam.d/polkit-1
#%PAM-1.0

auth      sufficient  pam_fprintd.so
auth      include     system-auth
account   include     system-auth
password  include     system-auth
session   include     system-auth

Demonya begini,

gambar_2

i3lock

Untuk membuka i3lock dengan menggunakan fingerprint scanner,

$ sudo vim /etc/pam.d/i3lock
FILE/etc/pam.d/i3lock
#
# PAM configuration file for the i3lock-color screen locker. By default, it includes
# the 'system-auth' configuration file (see /etc/pam.d/system-auth) for Arch and Gentoo
# and 'login' for Debian. Note that vanilla i3lock upstream uses 'login' instead.
#

#auth include system-auth # For Arch/Gentoo
#auth include login # For Debian

auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_fprintd.so

*Disable isi sebelumnya dengan menambahkan tanda # pada awal baris, kemudian tambahkan 3 baris di bawahnya, seperti contoh di atas.

Untuk dapat menggunakannya, saat i3lock sudah aktif, terlebih dahulu kita harus menekan tombol Enter, maka fingerprint scanner akan aktif, kemudian unlock i3lock dengan melakukan enroll fingerprint.

gambar_3

Referensi

  1. wiki.archlinux.org/index.php/Fprint
    Diakses tanggal: 2018/01/18
  2. bbs.archlinux.org/viewtopic.php?id=176181
    Diakses tanggal: 2018/01/18


Penulis

bandithijo

My journey kicks off from reading textbooks as a former Medical Student to digging bugs as a Software Engineer – a delightful rollercoaster of career twists. Embracing failure with the grace of a Cat avoiding water, I've seamlessly transitioned from Stethoscope to Keyboard. Armed with ability for learning and adapting faster than a Heart Beat, I'm on a mission to turn Code into a Product.

- Rizqi Nur Assyaufi

d98d8237fef8f1017d0be931b6e291341cbe6ca8