Login e autenticazione da penna Usb in Linux

 

 

 

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-8744

Save 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-security

Save 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 🙂

 

Login e autenticazione facciale in Linux

 

PFA ovvero Pluggable Authentication Module for Face Authentication, provvede in maniera veloce all'autenticazione tramite una serie di scansioni fatti in precedenza del nostro viso. Io l'ho provato sul mio netbook Acer Aspire One, equipaggiato con Easy Peasy e devo dire che mi ha felicemente stupito, anche se un bug in fase di autenticazione l'ho già notato. Comunque lasciando perdere il discorso sulla sicurezza e sull'usabilità, diciamo che fa scena.

A vostro rischio e pericolo 🙂

Pacchetti necessari:

# apt-get install build-essential cmake qt4-qmake libx11-dev libcv-dev
# apt-get install libcvaux-dev libhighgui4 libhighgui-dev libqt4-dev libpam0g-dev

 

Installazione:

$ cd /tmp
$ wget
$ tar zxf pam-face-authentication-0.3.tar.gz
$ cd pam-face-authentication-0.3
$ mkdir build
$ cd build
$ cmake -D CMAKE_INSTALL_PREFIX=/usr ..
$ make
# make install

Configurazione

$ qt-facetrainer

si aprirà una finestra dove partirà il processo di acquisizione di più immagini del nostro viso, ne consiglio almeno 8. Abilitiamo PFA per sudo il login manager e GDM:

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/sudo

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/gdm

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/gnome-screensaver

per chi usa KDE:

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/kde

 

riavviamo e siamo pronti al login " facciale " 🙂

 

Disattivare un core

 

 

Questo tip puo risultare molto utile per chi come me possiede oltre al Pc un notebook ed un netbook (aspire one) multicore, poichè ci da la possibilità di disattivare un core nell’eventualità che ci si trovasse con una scarsa autonomia della batteria. Disattivando un core abbiamo la possibilità di guadagnare qualche minuto e quindi finire di scrivere ed inviare per esempio una mail.

Per disattivare :

$ echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online

Per attivare:

$ echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online

Per verificare se si sta usando un core o più basta un:

cat /proc/cpuinfo

 

Aspire One Linux e modem HSDPA-HSUPA Option-GTM380-GlobeTrotter

Ho da poco preso un Acer Aspire One A150X, con modem HSUPA embedded,  e diciamo che sono contento in quanto col pinguino, al momento non ho riscontrato problemi seri. Come distribuzione ho installato Debian, poi ho provato Kuki , ma non mi è piaciuta, del resto è ancora in alfa. Per ultimo ho provato  Linux4one, a cui faccio i miei complimenti a tutto lo staff. Usando proprio questa distro mi sono accorto del problema di connessione tramite questo modem, in quanto non è stato inserito il modulo hso, determinante per il corretto funzionamento. Problema noto come si evince dalle discussioni nel forum.

Dando il comando lsusb, io ottengo questo:

 

ID 0af0:7211 Option

ma col modulo hso funzionano anche tutti questi, come è scritto sul sito di riferimento.

{default_port_device(0x0af0, 0x6711)},
{default_port_device(0x0af0, 0x6731)},
{default_port_device(0x0af0, 0x6751)},
{default_port_device(0x0af0, 0x6771)},
{default_port_device(0x0af0, 0x6791)},
{default_port_device(0x0af0, 0x6811)},
{default_port_device(0x0af0, 0x6911)},
{default_port_device(0x0af0, 0x6951)},
{default_port_device(0x0af0, 0x6971)},
{default_port_device(0x0af0, 0x7011)},
{default_port_device(0x0af0, 0x7031)},
{default_port_device(0x0af0, 0x7051)},
{default_port_device(0x0af0, 0x7071)},
{default_port_device(0x0af0, 0x7111)},
{default_port_device(0x0af0, 0x7211)},
{default_port_device(0x0af0, 0x7251)},
{default_port_device(0x0af0, 0x7271)},
{default_port_device(0x0af0, 0x7311)},
{default_port_device(0x0af0, 0xc031)}, /* Icon-Edge */
{icon321_port_device(0x0af0, 0xd013)}, /* Module HSxPA */
{icon321_port_device(0x0af0, 0xd031)}, /* Icon-321 */
{icon321_port_device(0x0af0, 0xd033)}, /* Icon-322 */
{USB_DEVICE(0x0af0, 0x7301)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7361)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7401)}, /* GI 0401 */
{USB_DEVICE(0x0af0, 0x7501)}, /* GTM 382 */
{USB_DEVICE(0x0af0, 0x7601)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7701)},
{USB_DEVICE(0x0af0, 0x7801)},
{USB_DEVICE(0x0af0, 0x7901)},
{USB_DEVICE(0x0af0, 0x7361)},
{icon321_port_device(0x0af0, 0xd051)},

Con Debian per esempio basta un semplice:

modprobe hso

Incominciamo installando un po di cose:

apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot module-init-tools

apt-get install libusb-dev libusb++-dev libusb++-0.1-4c2 python2.5-dev

Per ovviare a questo problema con Linux4one, ci sono 2 strade. La prima è quella di ricompilarsi il kernel, con il solito metodo, descritto qua. Una volta dato il comando make menuconfig, portarsi alla voce Device Drivers>Network device support>Usb Network Adapters ed andiamo a modularizzare Option Usb. Poi, giusto per non farsi mancare niente, sempre nella sezione Device drivers>Usb support>Usb Serial Converter, modularizzare Usb driver for Gsm. A questo punto salvare, e dopo la ricompilazione ci ritroveremo con i pacchetti linux-headers e linux-image. Una volta installati con dpkg e riavviato saremo pronti per connetterci con il nostro modem, non prima però di aver scaricato i tre pacchetti che ci servono hsolink , hsoconnect e Ozerocdoff . Quest’ultimo da installare con  il classico :

tar zxf udev.tar.gz

cd udev

sudo make

sudo make install

A questo punto inseriamo in /etc/modules

ppp_async

ppp_generic

pppoe

usbserial vendor=0x0af0 product=0x7211 (sostituire se il vostro è diverso)

poi ancora:

sudo gedit /etc/hso-suspend.conf

ed inserire NONE al posto di 5 seconds

reboot

Al momento della connessione con HSOconnect apparirà una finestra di debug dove all’interno se tutto va bene non dovranno apparire errori. Nella finestra di HSOconnect, andare in profile-edit, ed inserire l’ apn, nel mio caso ibox.tim.it, come username e password, mettere due parole a caso. A questo punto siamo pronti a testare il tutto con:

python -m  hsoc

La seconda strada  è quella di scaricare linux-headers e linux-image  ricompilati da me, ed installarli, per poi procedere con l’installazione di hsolink, hsoconnect e ozerocdoff ecc.ecc. il tutto scaricabile qua. Con questi semplici passi la connessione è andata ieri ed oggi senza mai disconnettersi per ore, ed ho scaricato anche un file da 150 mega, preciso questo perchè la ricompilazione l’ho eseguita su una installazione pulita di Linux4one, poichè in una precedente installazione, dove avevo scaricato e compilato Hso driver e fatto altri esperimenti e tentativi, la connessione era altalenante e s’impallava spesso, ero riuscito tramite un workaround a farla andare,ma mi sono accorto che il metodo migliore è quello che ho appena descritto su di una installazione pulita, insieme all’utilizzo di Hsoconnect

 

 

 

Importante:

Tenere presente che il led del 3g è funzionante, quindi la lucina deve essere verde, altrimenti il modem non viene trovato.

 

Problemi riscontrati:

Ho notato che ogni tanto il device ttyHS1 scompare, ma una volta riavviato tutto torna OK, quindi e meglio non cambiare nulla in /usr/share/HSOconnect. Ho notato anche dei problemi di stabilità, ma sto verificando alcune soluzioni tra cui la patch di Alan Cox.

 

Aggiornamento:

Va tutto alla grande, chiaramente più il segnale è forte più si naviga velocemente. Ho raggiunto la velocità di 5,9 mega

in download ed 1,3 in upload.

Un altro how-to particolareggiato scritto da me, lo trovate sul forum.