Kuchařka pro zprovoznění čtečky otisku prstu na notebooku IBM ThinkPad
Majitelé novějších modelů notebooků IBM ThinkPad s integrovanou čtečkou otisku prstu mají možnost vyzkoušet tento alternativní způsob přihlašování k počítači už i v Linuxu. Návod, jak čtečku zprovoznit v SUSE 10.0, přináší tento článek.
Čtečka otisku prstu je na notebooku IBM ThinkPad připojena k USB sběrnici a pro Linux existuje proprietární user-space USB ovladač a také rozhraní pro PAM, které umožňuje autentizaci.
Varování: Veškeré kroky níže uvedené podnikáte na vlastní riziko. Čtečku otisku prstu se povedlo zprovoznit v SUSE 10.0. Konfigurace následne přežila upgrade na SUSE 10.1, to ale neznamená, že vše bude stejně hladce fungovat i u vás. Autorka článku neručí za žádné škody způsobené aplikováním tohoto postupu.
Co potřebujeme
- Notebook IBM ThinkPad (R52, T42-3, T60, X41, X60, Z60)
- C/C++ kompilátor (doporučuji v YaSTu nainstalovat celý výběr C/C++ kompilátor a nástroje)
- Balíček pam-devel
Instalujeme Bioapi
Instalovat budeme do adresáře /root/fingerprint
Nejdříve stáhneme zdrojové texty (přímý odkaz), rozbalíme je a přesuneme se do vytvořeného adresáře:
wget http://www.qrivy.net/~michael/blua/bioapi/bioapi-latest.tar.bz2 tar xjvf bioapi-latest.tar.bz2 cd bioapi-x.y.z
Spustíme konfigurační skript (bohužel, bioapi není v SUSE přeložitelné s grafickými Qt nástroji, proto parametr --with-Qt-dir=no) a instalujeme (jako uživatel root):
./configure --with-Qt-dir=no make export LD_LIBRARY_PATH=/usr/local/lib make install
Na závěr zkopírujeme příslušné hlavičkové soubory do adresáře /usr/include:
cp include/bioapi_util.h include/installdefs.h imports/cdsa/v2_0/inc/cssmtype.h /usr/include
Instalujeme a konfigurujeme ovladač
Instalovat budeme do adresáře /root/fingerprint/driver
Stáhneme zdrojové texty ovladače (přímý odkaz), rozbalíme je a spustíme instalační skript (jako uživatel root):
wget http://www.upek.com/support/download/TFMESS_BSP_LIN_1.0.zip unzip TFMESS_BSP_LIN_1.0.zip sh install.sh
Test ovladače a vložení otisku prstu
Přesuneme se do příslušného adresáře
cd /root/fingerprint/driver/NonGUI_Sample
Ze souboru main.c smažeme řádek #include "port/bioapi_port.h a zkompilujeme jej:
gcc -o Sample main.c -L/usr/local/lib -lbioapi100 -DUNIX -DLITTLE_ENDIAN
Nyní můžeme spustit aplikaci pro vložení otisku prstu:
./Sample
Nejdřív vybereme možnost 'e' (enroll - vložit), vložíme uživatelské jméno a následně otisk prstu. Následně zvolíme 'v' (verify - ověřit) a vložíme otisk znova pro ověření. Takto se vytvoří soubor s příponou
Konfigurujeme PAM pro autentizaci pomocí otisku prstu
Instalovat budeme do adresáře /root/fingerprint
Nejdříve stáhneme zdrojové texty (přímý odkaz), rozbalíme je a přesuneme se do vytvořeného adresáře:
wget http://www.qrivy.net/~michael/blua/pam_bioapi/pam_bioapi-latest.tar.bz2 tar xjvf pam_bioapi-latest.tar.bz2 cd pam_bioapi-x.y.z
Pro správnou funkci je nutno stáhnout ještě patch (přímý odkaz) a aplikovat jej:
wget http://badcode.de/downloads/fingerprint.patch patch -p0Nainstalujeme PAM bioapi modul:
./configure && make make install cp /usr/local/lib/security/* /lib/security/Nastavíme proměnnou prostředí a vytvoříme adresář (toto sériové číslo je bohužel natvrdo naprogramované v pam_bioapi modulu):
SERIAL={5550454b-2054-464d-2f45-535320425350} mkdir -p /etc/bioapi/pam/$SERIALDo tohoto adresáře nakopírujeme uložené otisky prstů (*.bir soubory)
cp /root/fingerprint/driver/NonGUI_Sample/*.bir /etc/bioapi/pam/$SERIALA nyní už zbýva jen upravit soubor /etc/pam.d/common-auth do následující podoby:
auth sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/ password sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/ auth required pam_unix2.so nullok_secure #auth required pam_env.so #auth required pam_unix2.soMůžeme restartovat počítač a poprvé se příhlásit pomocí otisku prstu. Navíc odteď pokaždé, když bude vyžadována autentizace (příkaz su, odemčení šetřiče obrazovky), se objeví malé okénko, vyzývající k vložení otisku prstu. Po třech neúspěšných pokusech je ale ještě stále možnost přihlásit se klasicky pomocí hesla
Několik poznámek na závěr
- Pokud počítáte i s přihlašováním k notebooku pomocí ssh, doporučuji upravit také soubor /etc/pam.d/sshd do následujícího tvaru:
#%PAM-1.0 auth required pam_env.so auth required pam_unix2.so auth required pam_nologin.so account include common-account password include common-password session include common-session
- Některé aplikace (YaST, KDE Control Center) vyžadují vložení otisku prstu dvakrát. Nepovedlo se mi zjistit proč :-)
- V GNOME (gdm) se při přihlašování objeví ikonka vyzývající k vložení otisku prstu
- KDE (kdm) žádnou takovou výzvu nemá, jednoduše vložte otisk prstu a přihlašte se
Odkazy
Odkaz na původní článek:
http://www.novell.com/coolsolutions/trench/16727.html
Další čtení na Thinkwiki:
http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader
Komentáře
Uprimne priznam, ze nevim, nezkousela jsem (a ono se tenhle model skoro nikde v navodech nezminuje, asi je prilis novy ;-) ). Ale nemyslim si, ze by se hardware od te doby natolik zmenil, aby na nem v clanku uvedeny driver nefungoval. Muzete to kazdopadne otestovat.