よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

Ubuntuで指紋認証

今頃になってですが、LenovoのノートPCであるX61UbuntuとWindowsのデュアルブート環境を構築しました。
今まではWindows Vista上でVMwareにてUbuntuを動かしていたのですが、VMwareMobile Intel(R) 965 Express Chipset Family に対応したドライバが含まれておらず、3Dデスクトップの「効果」を利用できなかったため、カスタマイズしようという気になりませんでした。
そこで、まずは見た目を華やかにしようじゃないかということで「UbuntuのデスクトップをMac OSX Leopard風にするチュートリアル」を参考にさせていただきました。
Thanks!id:rx7

これでUbuntuの地味なbackgroudとはおさらばできました。
しかし、これで終わってしまってはもったいない。
X61には指紋認証デバイスが搭載されています。
Windowsを使っている時、便利な機能だなと感じていたので、これをUbuntuでもできないものかと思っていました。
すると既にUbuntuで利用されている方がいらっしゃいました。
そのため、今回は「UbuntuでThinkPad X61の指紋認証を使う」を参考に、ThinkFingerをインストールすることで指紋認証機能を利用できるようにしてみました。
#参考にさせていただいたサイトの導入手順がわかりやすいため、導入手順は割愛します。
これで、ログイン画面だけでなく、root権限が必要となる場面でも指紋認証が可能となります。

f:id:interu:20080903001029p:image

しかし、「UbuntuでThinkPad X61の指紋認証を使う」のままでは、「Fn(ファンクション>キー)」+「F2」でスクリーンロックをしたときの解除時は、パスワード認証になってしまいます。
これではちと微妙なので、以下の手順で指紋認証でスクリーンロックを解除できるようにします。

#以下の設定ではinteruユーザでの設定ですので、必要に応じて適切なユーザ名に置き換えてください

1. thinkfingerグループの追加

#グループ名はthinkfingerである必要はありません

$ sudo groupadd thinkfinger
$ sudo gpasswd -a interu thinkfinger

2. ルールファイルの作成

$ sudo vi /etc/udev/rules.d/60-thinkfinger.rules

# SGS Thomson Microelectronics Fingerprint Reader
SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="thinkfinger"

# the also-needed uinput device
KERNEL=="uinput", MODE="0660", GROUP="thinkfinger"

3. gnome-screensaverの設定

$ sudo vi /etc/pam.d/gnome-screensaver

@include common-auth
auth sufficient pam_thinkfinger.so
auth required pam_unix.so try_first_pass nullok_secure

4. 所有者、モードの設定

$ sudo cp ~/.thinkfinger.bir /etc/pam_thinkfinger/interu.bir
$ sudo chown interu:root /etc/pam_thinkfinger/interu.bir
$ sudo chmod 400 /etc/pam_thinkfinger/interu.bir
$ sudo chmod o+x /etc/pam_thinkfinger

これでUbuntuでも指紋認証機能を十分に使える程度にカスタマイズできました。
いやぁ〜便利になりました。

ちなみに、ThinkFingerの本家サイトで、以下のような記述がありました。

ThinkFinger is a driver for the SGS Thomson Microelectronics fingerprint reader found in most IBM/Lenovo ThinkPads

X61に限らず、IBM/LenovoのPCで指紋認証デバイス搭載機種で利用できそうですね。
調べみると、

LenovoThinkPad、及びDell, 東芝社製の、SGS Thomson Microelectronics製指紋センサが使用されているパソコンで使用可能

だそうです。