Niech to będzie odpowiedzią na twoje zapytanie:
Znalazłem już rozwiązanie umożliwiające wykorzystanie czytnika linii papilarnych w skryptach bash.
Wystarczy:
1. Zainstalować:
sudo add-apt-repository ppa:fingerprint/fprint
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libfprint0 fprint-demo libpam-fprintd gksu-polkit
2. Zeskanować wzorcowy palec:
root@msi:/home/mariusz# fprintd-enroll
Using device /net/reactivated/Fprint/Device/0
Enrolling right index finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed
3. Przeprowadzić próbną weryfikację:
root@msi:/home/mariusz# fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
- #0: right-index-finger
Verify result: verify-match (done)
4. Wykorzystać w skryptach, np.
#!/bin/sh
res=`timeout 5 fprintd-verify | grep result`
if [ "$res" = "" ]
then
echo "`date +%Y.%m.%d-%T` - rescan to fast, please wait a few seconds..."
fi
if [ "$res" = "Verify result: verify-match (done)" ]
then
echo "`date +%Y.%m.%d-%T` - acces confirmed"
fi
if [ "$res" = "Verify result: verify-not-match (done)" ]
then
echo "`date +%Y.%m.%d-%T` - acces dennied"
fi
Niestety jest to rozwiązanie wyłącznie dla pojedynczego usera / odcisku palca. Jeśli ma z tego korzystać więcej niż jedna osoba, zaczynają się schody.
Pilnie poszukuję rozwiązania dla więcej niż jednego usera.
Rozwiązanie abstrakcyjne / "na siłę" jakie przychodzi mi do głowy, to zbudować klawiaturę z kilkoma przyciskami (1 przycisk - 1 user) podłączaną w miejsce klawiatury klasycznej (ps2) która realizuje funkcję zalogowania się konkretnego usera (wciśnięcie klawisza wyśle ciąg znaków: sudo su, odczeka wyśle hasło, i znak entera, a następnie wyda polecenie uruchamiające skrypt realizujący weryfikację użytkownika z użyciem skanera palca.
Będzie działało? Będzie (co się nie da jak się da). Tyle, że jest to rozwiązanie głupie i na okrętkę. Poza tym przeprowadzenie weryfikacji będzie wymagało wcześniejszego kliknięcia przycisku usera.
To już zamiast tej dziwnej klawiatury może czytnik RFID, który po weryfikacji karty wyśle po ps2 znaki jak wyżej (zalogowanie na konkretnego usera w zależności od numeru karty). Będzie podwójne zabezpieczenie, RFID + odcisk palca ;-)
Drobny przerost formy nad treścią, albo i treści nad formą.
Kurcze gdzie szukać kogoś kto niskopoziomowo będzie umiał naklepać aplikację dla linuksa, wykorzystującą fingerprint w celu weryfikacji użytkownika na podstawie bazy kilku użytkowników i wykonać skrypt allowed.sh (z przyjęciem parametru od którego użytkownika nastąpiło poprawne rozpoznanie) lub skryptu declined.sh (z ewentualnym zapisaniem odcisku nieproszonego gościa w bazie intruzów).
Programisty szukam.
Dałoby się jeszcze prościej!
Urządzenie mogłoby wysłać po ps2 wyłącznie nazwę użytkownika (logowanie) - linuksa można skonfigurować w taki sposób, by zamiast hasła oczekiwał na zeskanowanie palca, i ustawić dla danego użytkownika odpowiedni skrypt startowy.
Problem w tym, że wprowadzenie wzorcowego palca do bazy możliwe jest wyłącznie z pozycji sudousera.
mariusz1@msi:~$ fprintd-enroll
Using device /net/reactivated/Fprint/Device/0
failed to claim device: Not Authorized: net.reactivated.fprint.device.enroll
mariusz1@msi:~$