Abaixo os links para download do código-fonte, pacotes para o openSUSE e Ubuntu. Neste documento trabalharemos a partir da compilação do código fonte para compatibilizar o máximo possível as instruções para qualquer distribuição
Linux.
Código fonte (utilizado neste documento):
libfprint-0.0.6.tar.bz2 (fontes da biblioteca)
Após o download devemos descompactar/extrair os arquivos fonte. Utilize o comando "tar -jxvf" como abaixo. Entre na pasta criada pelo comando tar (libfprint-0.0.6) e execute o comando "./configure" para configurar as diretivas de compilação para o seu ambiente.
tar -jxvf libfprint-0.0.6.tar.bz2
$ cd libfprint-0.0.6
$ ./configure
Execute o convencional o comando "make" para efetuar a compilação na íntegra do código-fonte, a seguir transforme-se em super-usuário (root) para efetuar a instalação da biblioteca através do comando "make install" seguido do "ldconfig", conforme as instruções abaixo.
make
$ su
Senha:
# make install
# ldconfig
Instalando a autenticação biométrica:
pam_fprint é o módulo biométrico que trabalha em conjunto com a biblioteca de autenticação PAM (Pluggable Authentication Modules). Sua base tecnológica é a biblioteca
fprint, que compilamos e instalamos anteriormente. O pacote pam_fprint utiliza as funções biométricas para processar e verificar a autenticação do usuário.
Dando continuidade ao trabalho, efetue o download, descompacte, compile e instale o pacote pam_fprint seguindo as instruções abaixo:
wget http://ufpr.dl.sourceforge.net/sourceforge/fprint/pam_fprint-0.2.tar.bz2
tar -jxvf pam_fprint-0.2.tar.bz2
$ cd pam_fprint-0.2
$ ./configure
$ make
$ sudo make install
Integrando a biometria ao comando su:
Para finalizar, devemos apenas modificar o arquivo de configuração do comando su (utilizado para obter os direitos do usuário root) , localizado em
/etc/pam.d/su. A seguir o conteúdo deste arquivo, com as alterações necessárias para tornar obrigatória a autenticação biométrica durante o comando su no sistema
GNU/Linux. Reparem na utilização do modo REQUISITE de autenticação. Maiores informações, sugiro a leitura de documentação do PAM.
#%PAM-1.0
auth sufficient pam_rootok.so
auth include common-auth
auth requisite pam_fprint.so
account include common-account
password include common-password
session include common-session
session optional pam_xauth.so
O próximo passo é efetuar o cadastramento biométrico da sua impressão digital. Se concluído com sucesso esta tarefa, no próximo login o usuário, além da senha, deverá fornecer a sua impressão digital para ter acesso ao sistema.
O programa
pam_fprint_enroll é responsável pelo cadastramento das impressões digitais. Para entender melhor a sintaxe, digite "pam_fprint_enroll --help" e constataremos que devemos informar o número correspondente ao dedo utilizado para cadastro.
# pam_fprint_enroll --help
Usage: ./pam_fprint_enroll options
-h --help Display this usage information.
-f --enroll-finger index Enroll finger with index.
Valid indexes are:
1 - Left Thumb
2 - Left Index Finger
3 - Left Middle Finger
4 - Left Ring Finger
5 - Left Little Finger
6 - Right Thumb
7 - Right Index Finger
8 - Right Middle Finger
9 - Right Ring Finger
10 - Right Little Finger
No meu caso utilizei o número 7 representando o dedo indicador da mão direita. Ao executar o programa, pressione a tecla [ENTER] e encoste o dedo no leitor de impressão digital. Pronto! Nesta fase, ao efetuar o login, o seu sistema operacional solicitará a senha seguida da autenticação biométrica.
# pam_fprint_enroll --enroll-finger 7
This program will enroll your finger, unconditionally overwriting any selected print that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C
Found device claimed by Digital Persona U.are.U 4000/4000B driver
Opened device. It's now time to enroll your finger.
You will need to successfully scan your Right Index Finger 1 times to complete the process.
Scan your finger now.
Enroll complete!
Enrollment completed!
Se tudo estiver funcionando corretamente, após o comando su será solicitada a autenticação biométrica e a senha de root. Ou seja, implementamos uma terceira camada de autenticação com a impressão digital do usuário. A seguir o vídeo apresenta a tecnologia open source fprint (leitura de impressão digital) integrado ao comando SU na plataforma Linux.
A biblioteca fprint proporciona inúmeros recursos além dos mencionados neste documento, para um estudo detalhado sobre o assunto, sugiro algumas leituras como o artigo
fprint: Biometria livre completa e total, e também no site oficial do projeto.