Pasos a seguir:
1. Instalamos los programas necesarios:
sudo apt-get install pamusb-tools libpam-usb2. Conectamos una USB a la computadora 3. Agregamos el USB a la configuración del PAM:
$ sudo pamusb-conf --verbose --add-device=my-usb Inspecting /org/freedesktop/Hal/devices/storage_serial_******************************* Invalid: Device does not contain any volume Inspecting /org/freedesktop/Hal/devices/storage_serial_SanDisk_Cruzer_Blade_************************* Valid Please select the device you wish to add. * Using "SanDisk Cruzer Blade (*****************************************)" (only option) Which volume would you like to use for storing data ? * Using "/dev/sdb1 (UUID: AAAA-9999)" (only option) Name : my-usb Vendor : SanDisk Model : Cruzer Blade Serial : ***************************************** UUID : AAAA-9999 Save to /etc/pamusb.conf ? [Y/n] y Done.4. Agregamos el usuario que podrá usar el usb (my-usb) para ingresar.
$ sudo pamusb-conf --add-user myuser --verbose Which device would you like to use for authentication ? * Using "my-usb" (only option) User : myuser Device : my-usb Save to /etc/pamusb.conf ? [Y/n] y Done.5. Configuramos el sistema para que permita el inicio de sesión usando el modulo pam_usb: Tenemos que editar el archivo common-auth
sudo nano /etc/pam.d/common-authBuscamos la línea que dice auth required pam_unix.so nullok_secure y agregamos la siguiente línea: auth sufficient pam_usb.so. Aquí dejo un ejemplo de como quedó mi archivo /etc/pam.d/common-auth
auth sufficient pam_usb.so auth required pam_unix.so nullok_secureNota: realmente importante, por favor tener mucho cuidado al editar este archivo pues si lo dejan mal terminaran con un sistema al que no podrá ingresar, el post original recomiendan dejar una consola con permisos de administrador y el archivo abierto pues en caso de que algo salga mal puedan arreglarlo.
Probar que funciona: Al momento de redactar este tutorial no he verificado cerrar mi sesión e ingresar otra vez usando la usb, pero si ejecute la siguiente prueba indicada en el post original y me funcionó bien:
$ su myuser * pam_usb v0.4.2 * Authentication request for user "myuser" (su) * Device "my-usb" is connected (good). * Performing one time pad verification... * Regenerating new pads... * Access granted.
Alternativa, Requerir tanto el usb como una contraseña: De acuerdo con el post original si deseamos que ambos, la contraseña y el usb sean requeridos para ingresar debemos modificar el archivo /ect/pam.d/common-auth para que quede de la siguiente forma:
auth required pam_usb.so auth required pam_unix.so nullok_secureY al probarlo de la misma forma antes mencionada debemos ver algo como lo siguiente:
$ su ubuntu-user * pam_usb v0.4.2 * Authentication request for user "ubuntu-user" (su) * Device "my-usb" is connected (good). * Performing one time pad verification... * Access granted. Password:Donde como pueden ver se valida la presencia del usb y luego se solicita la contraseña.
Alternativa, Bloquear/Desbloquear el equipo cuando se remueve/reconecta la usb: Modificamos el archivo /etc/pamusb.conf, específicamente la sección user, en dicha sección debe estar ya creada y con una entrada indicando el dispositivo que el usuario requiere para ingresar, solo debemos agrergar dos entradas más de modo que quede más o menos como el siguiente ejemplo:
Nota: si no usas gnome reemplaza el comando gnome-screensaver-command por algo que si te funcione.my-usb gnome-screensaver-command -l gnome-screensaver-command -d
Conclusión Esta forma de ingresar me trae algunas ideas sobre como se podría en una empresa o institución eliminar la necesidad de usar contraseñas o agregar una capa más de seguridad. Se imaginan llegando a su puesto de trabajo y colocando una usb en la pc y luego empezar a trabajar sin tener que hacer más nada. Hasta la próxima. Referencias: http://askubuntu.com/questions/10524/usb-drive-login-token-system http://linuxconfig.org/linux-authentication-login-with-usb-device
Actualización 3-sep-2011: después de salir y volver a ingresar pude comprobar que la validación por usb funciona bien en el inicio de sesión.
Actualización 7-ene-2012: tristemente el proyecto pamusb parece estar muerto, incluso ya eliminaron el paquete de Debían y Ubuntu :(
La última vez que instalé tenia algun bug, porque se reiniciava el servidor al enchufar algo en los usb, esto me pasó en varios ordenadores.
ResponderEliminarmeu ¿cuando fue la ultima vez que instalaste?
ResponderEliminarYo solo lo he probado en una laptop y funcionó bien.
Saludos.