Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 22.04 24.04 26.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

In questa guida viene spiegato come installare e configurare l'interfaccia di un lettore biometrico di impronte digitali per effettuare l'autenticazione login/logout tramite Ubuntu o permettere di accedere a siti o applicazioni (anche da riga di comando) che richiedono privilegi di amministrazione e avviare il blocca schermo.

A partire da Ubuntu 20.04, il supporto per i lettori di impronte digitali è diventato nativo nel sistema tramite il software fprintd che rende il servizio gestibile dalle impostazioni di sistema e il gestore di login GDM.

Preparativi

Il riconoscimento e l'attivazione su Ubuntu dipendono dal tipo di hardware utilizzato del lettore impronte digitali, pertanto prima di procedere, è necessario rilevare i sensori del proprio computer.

Sensori Usb

  1. Verificare che sia riconosciuto il lettore di impronte dal sistema operativo, digitando nel terminale il comando:

     lsusb | grep -i fingerprint

    l'output dovrebbe mostrare l'ID del produttore e del dispositivo (ad esempio ID 138a:0011).

    • Poiché non sempre compare la dicitura «fingerprint», cercare nomi di produttori comuni come: Validity Sensors, AuthenTec, SGS Thomson, Broadcom Corp., Shenzhen Goodix o Elan Microelectronics

  2. Annotare l'ID numerico.

È possibile consultare l'elenco dei dispositivi supportati dal driver principale (libfprint) alla pagina ufficiale del progetto.

Sensori SPI

I sensori di impronta digitale basati su interfaccia SPI (molto comuni nei portatili ASUS, Huawei e Lenovo più recenti, o su moduli per schede come Raspberry Pi) non compaiono usando il comando lsusb.

  • Se il sensore è integrato in un computer portatile moderno, i sensori SPI (spesso prodotti da Elantech, Goodix o Focaltech) sono mappati tramite il firmware ACPI del sistema.

    • Verificare la presenza del chip SPI leggendo i messaggi del kernel all'avvio o controllando i dispositivi ACPI registrati, digitando nel terminale il comando:

        sudo dmesg | grep -iE "spi|fingerprint|elan|goodix"
    • In alternativa, cercare nella directory dei dispositivi SPI del kernel per trovare l'ID ACPI (ad esempio ELAN7001 e ELAN70A1):

        ls /sys/bus/spi/devices/
  • Se si tratta di un modulo sensore esterno SPI standalone (es. Raspberry Pi o prototipazione, come i moduli Synochip o simili) ai pin GPIO di una scheda con Ubuntu, assicurarsi che la porta spidev sia visibile, digitando nel terminale il comando:

      ls -l /dev/spidev*

Installazione

Nella maggior parte delle installazioni di Ubuntu, i pacchetti necessari sono già presenti.
In caso contrario installare i pacchetti necessari, digitando nel terminale il seguente comando:

sudo apt install fprintd libpam-fprintd

Configurazione

Abilitazione dell'autenticazione (PAM)

Per utilizzare l'impronta digitale per il login o con il comando di amministrazione sudo, è necessario che il profilo PAM (Pluggable Authentication Modules) sia attivo in modo sicuro.

Per motivi di sicurezza, PAM non permette l'inserimento simultaneo. Se il lettore è attivo, il sistema attenderà la scansione. Se si desidera usare la password, basterà attendere il timeout del sensore (solitamente 10-20 secondi) o premere Invio a vuoto nel terminale per forzare la richiesta della password.

  1. Digitare in un terminale il seguente comando:

     sudo pam-auth-update
  2. Utilizzare i tasti freccia e la barra spaziatrice per assicurarsi che la voce Fingerprint authentication sia selezionata e sia marcata con un asterisco [*].

  3. Selezionare OK e premere Invio.

Per resettare il proprio PAM ai valori predefiniti di sistema digitare nel terminale il comando:

sudo pam-auth-update --force

Accesso

Da interfaccia grafica

In Ubuntu l'ambiente grafico GNOME offre una configurazione nativa.

  1. Avviare le Impostazioni e selezionare Sistema → Utenti.

  2. Selezionare l'utente e fare clic su Accesso con impronta digitale.

  3. Seguire le istruzioni per registrare le dita desiderate (si consiglia di registrarne più di una).

Da terminale

Se si utilizza un ambiente desktop diverso (es. XFCE, Mate ecc.) o si preferisce la riga di comando, è possibile registrare l'impronta con il comando:

fprintd-enroll

Verrà chiesto di passare il dito sul sensore ripetutamente (solitamente 5-10 volte) finché la registrazione non sarà completata o non compare il messaggio «Enroll complete».

Risoluzione problemi

Conflitto con Fingerprint GUI

Se in precedenza era stato installato manualmente Fingerprint GUI tramite PPA, è fondamentale rimuoverlo per evitare conflitti con il nuovo sistema. Rimuovere tutti i file binari, le librerie condivise, altri file.

  1. Rimuovere software in conflitto:

     sudo apt purge fingerprint-gui thinkfinger-tools fprint-demo
  2. Assicurarsi che non siano rimaste configurazioni residue, quindi annullare tutte le modifiche apportate ai file di configurazione del sistema che vanno rimosse (in particolare per i file contenuti nella cartella /etc/pam.d/).

Sensore non rilevato

Alcuni sensori moderni (specialmente quelli montati su laptop HP, Dell o Lenovo recenti) richiedono driver proprietari o firmware specifici non inclusi in libfprint. In questi casi verificare se il produttore fornisce driver per Linux o consultare il forum di comunità del laptop.

I lettori di impronte digitali SPI per hobbistica non vengono quasi mai gestiti direttamente da libfprint. Comunicano tramite comandi seriali incapsulati in pacchetti SPI su registri specifici. Per riconoscerli e usarli affidarsi a script o librerie specifiche per il modello di chip (ad esempio librerie Python basate su spidev o i driver forniti dal produttore del modulo hardware).
È possibile verificare la presenza di questi sensori controllando i log di sistema, digitando nel terminale il seguente comando:

dmesg | grep -i finger

Se non si riesce a identificare il dispositivo, è possibile interrogare direttamente il servizio di gestione delle impronte, digitando nel terminale il comando:

fprintd-list $USER

Se il servizio risponde con «Found device: ...», il lettore è correttamente riconosciuto e pronto all'uso.

Ulteriori risorse


CategoryHardware