Santech M68 – Fingerprint

Il lettore di impronte digitali installato sul nostro PC è marcato Upek; lo possiamo vedere digitando il comando:

# lsusb |grep Upek
Bus 003 Device 002: ID 147e:1002 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor

Per configurarlo ed utilizzarlo, dobbiamo installare il package Fingerprint-GUI che trovate a questo indirizzo; ma prima dobbiamo installare una serie di librerie che ci serviranno per la compilazione del paccketto; inoltre dovremo aggiungere il repo Hardware:

# zypper in libusb-1_0-devel libfprint0 libfprint-devel libqca2-devel libqca2-plugin-cyrus-sasl libqca2-plugin-pkcs11 libfakekey-devel typelib-1_0-Polkit-1_0 polkit-devel libpolkit-qt-1-devel libqt4-devel
# zypper ar -f http://download.opensuse.org/repositories/hardware/openSUSE_13.1 Hardware
# zypper in libfakekey-devel libfakekey0

Una volta installate le librerie, scarichiamo, compiliamo ed installiamo il programma:

# cd /usr/src
# wget http://ullrich-online.cc/nview/Appliance/fingerprint/download/fingerprint-gui-1.05.tar.gz
# tar xvfz fingerprint-gui-1.05.tar.gz
# cd fingerprint-gui-1.05
# qmake LIBPOLKIT_QT=LIBPOLKIT_QT_1_1
# make
# make install
# make install-upek
# cp bin/fingerprint-pam/libpam_fingerprint-gui.so /lib64/security/pam_fingerprint-gui.so
# xhost +

Assicurarsi che ogni utente che usa il fingerprint sia membro del gruppo plugdev; questo qruppo viene creato automaticamente; se il nostro utente si chiama dave:

# usermod -G plugdev dave

Riavviamo il pc, muniamoci di una pendrive, inseriamola e facciamola riconoscere al sistema; successivamente apriamo una sessione terminal non amministrativa e digitiamo  il seguente comando:

$ fingerprint-gui

Questo programma ci permette in soli 5 semplici mosse di acquisire le nostre impronte e verificarle quando necessario; potrebbe permettere il login e l’autenticazione tramite riconoscimento delle impronte.

Nel primo tab (Device) vedrete come  il nostro device Upek viene correttamente riconosciuto come “Upek Biometric Touchchip/Touchstrip Fingerprint Sensor”:

Fingerprint Upek

Inizializziamo il database con le nostre impronte; andiamo nel tab Finger, selezioniamo l’impronta che vogliamo far riconoscere e spostiamoci nel tab Scan/Verify; se sono state inserite già alcune impronte, il programma ci indicherà quali impronte sono state già inserite colorando di verde il pallino corrispondente al dito inserito e ci indicherà se vogliamo aggiungerne di nuove o vogliamo modificare quelle esistenti.

Quando siamo nel tab Scan/Verify, il programma ci chiederà di inserire la nostra impronta per un certo numero di volte (almeno fino a quando riesce a riconoscerla completamente) per un massimo di 5 volte. Ripetiamo i passaggi (Finger → Scan/Verify) per tutte le impronte che vogliamo acquisire.

Successivamente, nel tab Settings, scegliamo come PAM il servizio sudo e premiamo TEST; ci verrà richiesto di inserire la nostra impronta e se è tutto corretto ci comparirà il messaggio “Authentication successful”.

Concludiamo la procedura premendo sul tab Password, e salviamo le nostre credenziali in formato criptato nella penna USB che abbiamo precedentemente inerito (scegliamo la penna USB che abbiamo inserito premendo nel bottone con i 3 puntini e scegliamo un apassword); a questo punto abbiamo finito.

Ripetiamo i passi precedenti con l’utente root, in maniera tale da usare il fingerprint quando avremo bisogno di elevare le nostre credenziali:

# fingerprint-gui

Infine, editiamo il file /etc/pam.d/common.auth e modifichiamolo in questo modo:

auth    sufficient      pam_fingerprint-gui.so try_first_identified
auth    required        pam_env.so
auth    optional        pam_gnome_keyring.so
auth    required        pam_unix.so     try_first_pass

In questo modo ogni volta che avremo bisogno delle credenziali di amministratore, ci verrà richiesto il nostro fingerprint (o alternativamente, potremmo sempre inserire la password).

Riavviamo il nostro pc e testiamone il comportamento; apriamo una shell, e quando siamo il comando “su -” il nostro sistema ci deve aprire una finestra per autenticarci tramite finger reader:

$ su -

← Santech M68 e OpenSUSE 13.1                        Santech M68 – Benchmark →