Autenticazione USB su Debian GNU/Linux

Per tutti quelli che utilizzano o che hanno sperimentato, almeno una volta il login via USB su una piattaforma proprietaria, e per tutti quei smanettoni che han provato mille volte senza mai aprire man, o un semplice -h, questa guida vi sarà d’aiuto per l’autenticazione via USB!

Scordatevi la password! Da oggi ci si autentica con l'USB!

Scordatevi la password! Da oggi ci si autentica con l'USB!

Semplice come rovesciare un bicchiere d’acqua, l’autenticazione si svolgerà semplicemente inserendo la periferica usb personale e lasciando vuoto il campo password. Tutto questo grazie a PAM!

Cos’è PAM?

PAM o Pluggable authentication modules costituisce una serie di librerie e file che permettono di autenticare l’utente mediante altri sistemi differenti da quello standard. Questo permette di non modificare l’intero programma in caso di cambiamento del metodo di autenticazione, e permette inoltre di autenticarsi in svariati modalità, dalle impronte digitali alle periferiche USB! Infatti il modulo PAM che gestisce l’accesso e l’autenticazione via USB. Maggiori informazioni le trovate su Wikipedia ;-)

Installiamo Pamusb!

Se siete su un sistema Debian GNU/Linux potete comodamente installare i pacchetti relativi al modulo pamusb con questo comando:

apt-get install libpam-usb pamusb-tools

A questo punto sarà necessario solamente inserire la nostra pennetta USB e configurare PAM per tutto il necessario per un corretto funzionamento. Quindi andremo ad aggiungere la nostra periferica USB tra quelle disponibili e andremo ad associare il nostro nome utente con la nostra periferica scelta. Digitiamo da terminale con permessi di super utente:

pamusb-conf --add-device AuthChiave

Questo comando vi mostrerà a schermo i dati della periferica scelta e dovrete confermare con un classico “y” l’operazione che andrete a compiere. Ovviamente potete sostituire AuthChiave con qualsiasi nome vogliate in quanto sarà l’ID della periferica. Ora la vostra periferica è riconosciuta da pamusb ma non è stata associata a nessun utente, indi procediamo con il seguente comando sempre da super utente:

pamusb-conf --add-user VOSTRONOMEUTENTE

Se volete controllare che tutto sia andato per il verso giusto, basta eseguire un controllo con questo comando:

pamusb-check VOSTRONOMEUTENTE

Ora non ci resta che aggiungere il modulo come possibilità di autenticazione quindi modifichiamo il file in /etc/pam.d/common-auth ed aggiungiamo la seguente riga in questo modo: Cerchiamo la riga (o simile):

auth    required        pam_unix.so nullok_secure

ed aggiungiamo dopo quest’altra riga:

auth    sufficient      pam_usb.so

Abbiamo finito! A questo punto basterà inserire al momento del login o dell’autenticazione (o in caso di su – vostronomeutente ) la vostra chiavetta usb senza dover inserire la password, o se richiesta basterà premere invio. Nel caso non vogliate dover premere invio alla richiesta della password, potete mettere quest’ultima riga solamente prima della riga di autenticazione. È possibile, in oltre, far eseguire un comando al momento della rimozione del periferica selezionata, o al momento dell’inserimento. Per fare ciò basterà modificare il file /etc/pamusb.conf , ricercando i seguenti tag e modificandoli in questo modo:

<user id="VOSTRONOMEUTENTE">
<device>AuthChiave</device>
    <agent event="lock">xscreensaver-command --lock</agent>
    <agent event="unlock">xscreensaver-command --deactivate</agent>
</user>

In questo modo verrà bloccato lo schermo quando viene rimossa la periferica, ma verrà riattivata quando la reinserirete. Per attivare questa funzione, dobbiamo aggiungere pamusb-agent tra i processi che si avviano automaticamente all’inizio della nostra sessione. Per fare questo con Xfce 4.6 basta andare nel Menu > Impostazioni > Sessione e Avvio, e selezionare la tabella “Application autostart” e aggiungere pamusb-agent nella lista dei processi. A questo punto vi basterà riavviare la sessione per verificare i cambiamenti!

Ops, ho fatto un casino!

In caso di problemi relativi all’autenticazione,in situazioni veramente critiche, potrete sempre avviare un liveCD di qualsiasi distribuzione ed eseguire un chroot nella vostra root, eliminare direttamente i pacchetti installati e/o commentare la riga seguente:

#auth    sufficient      pam_usb.so

Tutto ritornerà come prima! E la fatina buona vi faciliterà la vita con qualche simpatica filastrocca e tocchi di bacchetta magica! Buona autenticazione a tutti!