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”:
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 -