<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.cervajz.com/data/xml/blog.linux.atom/gadgets/Blog/templates/atom.xsl" ?><feed xmlns="http://www.w3.org/2005/Atom">
<link rel="self"  href="http://www.cervajz.com/data/xml/blog.linux.atom" title="Jaromír Červenka" />
<title  type="text" >Jaromír Červenka</title>
	<author>
		<name>Jaromír Červenka</name>
		<uri>http://www.cervajz.com/</uri>
	</author>
<subtitle  type="text" >Linux</subtitle>
<id>http://www.cervajz.com/</id>
<generator>JAWS 0.8.5</generator>
<rights  type="text" >2008, Jaromír Červenka</rights>
<updated>2008-09-11T21:10:08+01:00</updated>
<entry>
	<title  type="text" ><![CDATA[ Čtečka otisků prstů v openSUSE 11.0 (Compaq 6710b) ]]></title>
	<link rel="alternate"  type="text/html"  href="http://www.cervajz.com/index.php/blog/show/ctecka-otisku-prstu-v-openSUSE-11-Compaq-6710b.html" title="Čtečka otisků prstů v openSUSE 11.0 (Compaq 6710b)" />
	<author>
		<name>Jaromír Červenka</name>
		<uri>http://www.cervajz.com/data/xml/blog.linux.atom</uri>
	</author>
	<id>http://www.cervajz.com/index.php/blog/show/ctecka-otisku-prstu-v-openSUSE-11-Compaq-6710b.html</id>
	<updated>2008-09-11T21:10:08+01:00</updated>
	<published>2008-09-09T22:46:08+01:00</published>
	<summary  type="html" ><![CDATA[ <p>Nedávno jsem v práci dostal přenosný počítač <a href="http://notebook.cz/clanky/recenze-notebook/2007/hp-compaq-6710b/">HP Compaq 6710b</a>. Tento stroj má na sobě čtečku otisků prstů. Začal jsem se tedy zajímat jak jí zprovoznit v linuxu...<br />
 ]]></summary>
	<content  type="html" ><![CDATA[ <p>Nedávno jsem v práci dostal přenosný počítač <a href="http://notebook.cz/clanky/recenze-notebook/2007/hp-compaq-6710b/">HP Compaq 6710b</a>. Tento stroj má na sobě čtečku otisků prstů. Začal jsem se tedy zajímat jak jí zprovoznit v linuxu...<br />
</p><p><br>Samotný hardware nepotřebuje žádnou dodatečnou instalaci/kompilaci firmware. Funguje už po nainstalování systému a hlásí se jako:</p><div class="terminal"><span style="color: red">andreas:~# lsusb</span><br /><br />
Bus 004 Device 010: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor'</div><p><br><u><strong>Software</strong></u><br />
V repozitářích můžete najít knihovny (a YaSTí modul), které se jmenují <strong>thinkfinder</strong>. Ty jsou ovšem určeny pouze pro notebooky IBM ThinkPad a s tímto hardware nepracují (odzkoušeno).</p><p><br>Knihovna, se kterou to poběží, se jmenuje <strong>libfprint</strong> a připravené balíky si můžete stáhnout například přes <a href="http://software.opensuse.org/search">http://software.opensuse.org/search</a>. Budete potřebovat balíky následujících názvů (v závorkách jsou verze, které používám já):</p><p><br><strong>libfprint</strong> (0-0.0.6-10.1.i586)<br />
<strong>pam_fprint</strong> (0.2-3.4.i586)<br />
<strong>fprint_demo</strong> (0.4-4.4.i586)
</p><p><br><u>libfprint</u> je knihovna, která slouží k samotnému sejmutí otisku a také obsahuje algoritmus pro porovnávání dvou otisků. Je závislá na knihovnách <strong>libusb</strong> a <strong>glib</strong>.</p><p><br><u>pam_fprint</u> slouží jako identifikační modul v systému. To znamená, že porovnává právě sejmutý otisk prstu s již uloženými otisky v domovské složce uživatele a případně jej pustí/nepustí "dál do systému".</p><p><br>A nakonec <u>fprint_demo</u> je GTK aplikace, ve které můžete vidět jak pracuje knihovna libfprint. My ji také využijeme pro sejmutí, ověření a uložení našich otisků.</p><p><br><u><strong>Zprovoznění</strong></u><br />
Po té co nainstalujeme balíky <a href="data/phoo/2008_09_10/fprint_demo.png"><img src="http://www.cervajz.com//data/phoo/2008_09_10/thumb/fprint_demo.png" class="image" style="margin: 5px;" align="left" title="Aplikace fprint_demo - kliknutím zvětšíte" alt="Aplikace fprint_demo" /></a>(třeba pomocí <em>rpm -ivh nazevbaliku</em>) musíme sejmout prvotní otisk. Spustíme si proto aplikaci fprint_demo a na první záložce se rozhodneme, který prst naskenujeme. Nevýhoda modulu pam_fprint je ta, že neumí pracovat s více otisky najednou. Resp., sejmout je můžete, ale pro ověření se bude vždy používat ten poslední sejmutý.</p><p><br>Klikneme tedy na tlačítko <strong>Enroll</strong> u příslušného prstu a sejmeme otisk. Doporučuji věnovat tomuto velkou pozornost a mít hlavě trpělivost. Z praxe se mi ověřilo, že je nejlépe sejmout celý poslední článek prstu (tak jak je to na obrázku). Vyhodnocovací algoritmus má poté více záchytných bodů pro porovnání. Sejmuté otisky se ukládají do domovského adresáře, podsložka <strong>.fprint</strong></p><p><br>Nyní bude potřeba upravit konfigurační soubor /etc/pam.d/common-auth. V něm je definováno, které moduly jsou použity pro autentifikaci uživatele. Přidejte řádek přesně jak je ukázáno na obrázku:</p><p><br><img src="http://www.cervajz.com//data/phoo/2008_09_11/etc-common-auth.png" class="image" title="etc-common-auth" alt="etc-common-auth" /></p><p><br>Důležité je pořadí - jak vidíte pam_fprint.so je před pam_unix2.so. V případě, že by to bylo obráceně systém bude chtít první heslo a až poté otisk. Volba <strong>sufficient</strong> systému říká, že pokud projde otisk je to dostatečné pro vpuštění "dovnitř". Pokud by jste se chtěli přihlašovat pouze pomocí otisku prstu (tedy žádná druhá možnost s heslem), zakomentujte řádek s modulem pam_unix2.so a místo sufficient doplňte <strong>required</strong>. Ovšem toto silně nedoporučuji, vzhledem k tomu, že knihovna libfprint je ve vývojové verzi.</p><p><br><u><strong>Používání</strong></u><br />
Autentifikace se čtečkou je triviální. V konzoli (terminálu) to probíhá tak, že pokud se budete chtít přihlásit jako uživatel, který má ve své složce sejmutý otisk prstů, neprve vás systém požádá (resp. modul pam_fprint) o přiložení příslušného prstu k sensoru. Pokud nejsou přítomné otisky v domovském adresáři, zobrazí se informace o této skutečnosti a pokračuje se standardně k heslu (záleží ovšem na konfiguraci, viz. výše).</p><p><br><img src="http://www.cervajz.com//data/phoo/2008_09_10/ctecka_1.png" class="image" title="Použití čtečky" alt="Použití čtečky" /></p><p><br>Horší je to s grafickými aplikacemi. Například spuštění YaST 2 z Gnome. Při původním způsobu ověřování (heslem) se zobrazí standardní dialog s informací, že aplikaci je třeba spustit s právy roota a Gnome Vás vyzve k zadání hesla. Pokud však použijeme modul pam_fprint, žádného dialogového okna se nedočkáme. Zkrátka po spuštění aplikace, která potřebuje práva roota musíme "přejít" příslušným prstem přes čtečku. Pokud se nepovede rozpoznat otisk, zobrazí se klasický dialog pro heslo. Zprvu to může dělat někomu potíže, ale dá se na to zvyknout.</p><p><br><u><strong>Problémy</strong></u><br />
Občas se přepíše konfigurační soubor /etc/pam.d/common-auth na standardní hodnoty. Stává se to při úpravách nastavení v YaSTím modulu "Nastavení bezpečnosti". Připravil jsem si proto script, který mi při startu systému vždy zkontroluje, zda tento soubor obsahuje řádek s modulem <strong>pam_fprint.so</strong> a případně jej nahradí souborem záložním.</p><p><br>Knihovna evidentně nefunguje na 64 bitovém systému, nebo alespoň stejným způsobem, na stejném jádře a s těmi samými verzmi balíků (ovšem x86_64) se mi nepodařilo čtečku rozběhnout.</p><p><br>V GDM se chybně zobrazuje hláška po autentifikaci. Po té co v pořádku přečtete otisk, se zobrazí informace o tom, že máte přiložit prst ke čtečce pro identifikaci. Stačí pouze odklepnout a můžete pokračovat.</p><p><br><strong>Další informace</strong>: <a href="http://reactivated.net/fprint/wiki/Libfprint">http://reactivated.net/fprint/wiki/Libfprint</a></p> ]]></content>
</entry>
</feed>