PAM (Pluggable authentication modules) permette di accedere a un sistema Linux utilizzando un supporto USB. Può essere usato per velocizzare i login (evitando quindi di chiedere la password) e rendere più rapide le modifiche al sistema qualora sia inserito il supporto USB considerando sempre l'utente autenticato come Super User. Può inoltre fornire una ulteriore protezione del sistema richiedendo sia l'utilizzo del supporto USB sia la password per il login.
Installazione
Installare Pam è la parte più semplice. E' infatti sufficiente scaricare e installare i pacchetti necessari. Per effettuare l'operazione, nel terminale, digitare {{{sudo apt-get install libpam-usb pamusb-tools }}} (per incollare qualcosa nel terminale, invece che ctrl+V, è necessario premere ctrl+shift+V)
Configurazione
Ora non resta che inserire il supporto USB che si desidera utilizzare e procedere con la configurazione. Con il comando {{{sudo pamusb-conf --add-device ChiaveUSB }}} (dove ChiaveUSB è l'ID che si è scelto per la periferica) PAM mostra i dettagli riguardo la periferica USB. Per poter continuare la configurazione confermare la corretta scelta del supporto premendo y.
A questo punto PAM riconosce la vostra periferica e non resta che associare ad essa il proprio nome utente. Sempre nel terminale, digitare {{{sudo pamusb-conf --add-user NOMEUTENTE }}} (dove NOMEUTENTE è, come intuibile, lo username al quale volete associare la periferica).
Ora, per avere la conferma che tutto sia andato a buon fine, è sufficiente usare il comando {{{pamusb-check NOMEUTENTE }}} (sostituendo a NOMEUTENTE lo username utilizzato precedentemente).
L'unica cosa che resta da fare per completare l'operazione è fornire a PAM le indicazioni per operare.
Per farlo è necessario editare il file /etc/pam.d/common-auth digitando, da terminale, {{{sudo gedit /etc/pam.d/common-auth }}} una volta aperto il file cercate in esso la seguente riga {{{auth required pam_unix.so nullok_secure }}} e aggiungete, in caso vogliate che la periferica USB sia sufficiente per autenticare l'utente, questa riga prima di essa, {{{auth sufficient pam_usb.so }}} nel caso in cui, al contrario, volete che venga richiesta sia la password che il supporto USB è necessario aggiungere, al posto della precedente, questa riga: {{{auth required pam_usb.so }}} Ora PAM è perfettamente configurato e funzionante.
Altre opzioni
Modificando il file /etc/pamusb.conf con il comando: {{{sudo gedit /etc/pamusb.conf }}} si possono aggiungere opzioni di configurazione a PAM.
Ecco un esempio di configurazione aggiuntiva: {{{<user id="NOMEUTENTE"> <device>ChiaveUSB</device>
<agent event="lock">xscreensaver-command --lock</agent> <agent event="unlock">xscreensaver-command --deactivate</agent>
</user> }}} Questa configurazione permette, se rimosso il supporto USB, di bloccare lo schermo e di poterlo sbloccare solo inserendo nuovamente la periferica.
Per poter sfruttare queste potenzialità è necessario aggiungere il processo pamusb-agent nelle Applicazioni all'Avvio.
Per farlo è sufficiente andare in Sistema -> Preferenze -> Applicazioni all'Avvio, fare click su Aggiungi e compilare i campi come segue: {{{Nome: PamUSB Comando: pamusb-agent Descrizione: }}}
Rimuovere PAM
In caso di problemi con PAM (ad esempio l'impossibilità di accedere al PC causa USB rovinata) è necessario avviare un LiveCD di Ubuntu e, dopo l'esecuzione di chroot nella root principale, rimuovere completamente PAM o commentare, nel file /etc/pam.d/common-auth, la seguente riga: {{{auth sufficient pam_usb.so }}} (commentare una riga significa inserire un # di fronte ad essa affinché il sistema non la legga). La riga, quindi, si presenterà così: {{{#auth sufficient pam_usb.so }}}