Mengatur Fungsi dari Fingerprint pada Arch Linux

AUT: BanditHijo | PUB: 2018/01/18 | UPD: 2018/10/29

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

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.

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).

Untuk menambahkan signature 1 jari,

$ fprintd-enroll

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 5x scan setiap jari.

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 nano /etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
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 nano /etc/pam.d/sudo
#%PAM-1.0
#auth     include    system-auth
#account  include    system-auth
#session  include    system-auth

auth    required    pam_env.so
auth    sufficient  pam_fprintd.so
auth    sufficient  pam_unix.so  try_first_pass likeauth nullok
auth    required    pam_deny.so

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

Polkit

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

$ sudo nano /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

Tambahkan seperti yang tertulis pada line ke-3.

auth sufficient pam_fprintd.so.

i3lock

Untuk membuka i3lock dengan menggunakan fingerprint scanner,

$ sudo nano /etc/pam.d/i3lock
#
# PAM configuration file for the i3lock screen locker. By default, it includes
# the 'system-auth' configuration file (see /etc/pam.d/login)
#

#auth  include     system-auth

auth   required    pam_env.so
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.

auth sufficient pam_fprintd.so.

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.

Referensi

  1. https://wiki.archlinux.org/index.php/Fprint
    [dateaccessed:2018/01/18]
  2. https://bbs.archlinux.org/viewtopic.php?id=176181
    [dateaccessed:2018/01/18]

Lisensi

logo_cc-by-nc-sa