Cutting Edge on My Life

社会心理学者の筆者が切り取った日常[Academic Life/Social Life/IT Life]を書き溜めます.

Vine Linux で指紋認証

2009-02-16 11:52:39 | IT Life
妻が,Vaio type Z を買ってきた.

CPUとOSが64bitとか,HDMI端子やらICカードリーダーがついてるとか、最近のメーカーもんはてんこ盛りだなぁ.

指紋リーダーがついているのを見て触発され,自分の仕事用PCの指紋認証を以前から放置していたのを思いだし,再チャレンジすることにした.

マシンは,中古の IBM ThinkPad X41 (2525-C6J)で,Windows XP Pro をとっぱらって,VineSeed (Vine Linuxの開発版)を入れて使っている.

ThinkPadでLinuxを動かすなら,何はなくとも ThinkWiki を参照するのがよい.

ここのページを参照して,オープンソースのドライバであるThinkFingerを導入することにした(英語が苦手な方は,Ubuntuとかのページが結構あるので,それを見るとよい.例えば、こことか).

書いてあることをそのまま素直にやる.ソースをダウンロードして,make & install.指紋認証のテストが成功したら,登録をする.pamを変更して,デバイスが認識されるよう,udevのルールを書いて,再起動.

ところが,udevのところでストップしてしまう.パスワードログインもできなかったので,システム停止後,緊急用に常備しているUbuntuのLiveCDで起動し,原因を改めて考える.

/dev/inputの中を見てみると,uinputが作成されていなかった.udevのルールを調べてみると,NAME="input/%k" という記述が必要なのかな,というところに行き着く.

試しにこんな記述にしてみる.(/etc/udev/rules.d/60-thinkfinger.rules)
#
# udev rules file for the thinkfinger fingerprint scanner
#
# gives access to the fingerprint reader to those in the "fingerprint" group
#
# Taken from:
#  http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_Think
Finger
# which was taken and modified from:
#  http://article.gmane.org/gmane.linux.drivers.thinkfinger/329
#
# SGS Thomson Microelectronics Fingerprint Reader
SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%
k", MODE="0660", GROUP="fingerprint"
# the also-needed uinput device
KERNEL=="uinput", NAME="input/%k", MODE="0660", GROUP="fingerprint"

やってみると,成功.無事にパスワードの代わりに指紋認証できるようになった.

ただ,現在パスワード認証は受け付けてくれなくなっており,両方できないなら,やんなかったほうがよかったかも,と思っている.

Ubuntuでは,/etc/module でロードするカーネルモジュールを記述するから,NAMEの項は不要なんでしょうか.

コメントを投稿