Qualche tempo fa ho fatto una guida intitolata Login e autenticazione facciale in Linux, dove avevo sperimentato sul mio netbook Aspire One, l'uso della webcam come ulteriore strumento di sicurezza, sia in fase di login che in fase di amministrazione, e devo dire che ha funzionato bene, tanto è vero che lo utilizzo ancora. Oggi invece voglio fare la stessa guida, con la differenza che al posto della webcam si usa una chiavetta usb, in questo modo anche chi non ha la webcam o non vuole usarla, ha un modo alternativo per sperimentare. Anche questa volta utilizzerò PAM che ci aiuterà nell'impresa, per la felicità di Toshidex che di PAM ha fatto una categoria sul suo blog 🙂
Requisiti:
$ sudo apt-get install pmount pamusb-tools libpam-usb
inserire la chiavetta usb, anche se contiene altri dati non ha importanza, nulla sarà perso, ed aggiungere il device con il nome scelto (nel mio caso usb-security) a /etc/pamusb.conf con il seguente comando:
$ sudo pamusb-conf --add-device usb-security
come si può vedere sotto la chiavetta è stata subito riconosciuta:
root@debian:/home/edmond# pamusb-conf –add-device usb-security
Please select the device you wish to add.
* Using "Sony Storage Media (Sony_Storage_Media_OE07042910585-0:0)" (only option)Which volume would you like to use for storing data ?
* Using "/dev/sdg1 (UUID: 3FB2-8744)" (only option)Name : usb-security
Vendor : Sony
Model : Storage Media
Serial : Sony_Storage_Media_OE07042910585-0:0
UUID : 3FB2-8744Save to /etc/pamusb.conf ?
[Y/n]
Done.
aggiungere anche l'utente a /etc/pamusb.conf:
$ sudo pamusb-conf --add-user edmond
quindi come si può vedere sotto, abbiamo collegato l'utente al device:
root@debian:/home/edmond# pamusb-conf –add-user edmond
Which device would you like to use for authentication ?
* Using "usb-security" (only option)User : edmond
Device : usb-securitySave to /etc/pamusb.conf ?
[Y/n]
Done.
adesso non ci rimane altro che modificare il file /etc/pam.d/common-auth, per far sì che possa utilizzare la nostra password di sistema.
Importante:
consiglio di tenere due shell aperte come root, nel caso qualcosa andasse storto, cosicchè si possa tornare alla configurazione normale del file /etc/pam.d/common-auth.
quindi:
$ sudo nano /etc/pam.d/common-auth
la configurazione deve essere la seguente:
#auth [success=1 default=ignore] pam_unix.so nullok_secure
auth required pam_unix.so nullok_secure
auth sufficient pam_usb.so
per tornare alla situazione normale invece:
auth [success=1 default=ignore] pam_unix.so nullok_secure
#auth required pam_unix.so nullok_secure
#auth sufficient pam_usb.so
se tutto è andato bene, da questo momento in poi l'autenticazione al login e come amministratore di sistema può avvenire solo con la chiavetta inserita. A questo proposito si possono fare delle prove aprendo il terminale per acquisire i privilegi di root e verificare se tutto funziona:
$ su edmond
enjoy 🙂