Asial Blog

Recruit! Asialで一緒に働きませんか?

Debianで指紋認証を使用する

カテゴリ :
バックエンド(インフラ)
タグ :
Linux
Debian
指紋認証
fingerprint
インフラなのか…?
最近は指紋認証を搭載したPCが増えてきました。業務用グレードなら大抵は標準装備かオプションで存在します。
便利そうなので(今更ながら)自分も導入してみました。

なお、今回導入したPCは Thinkpad X61s です。(6番で詳細)

1・モジュールのインストール
Linuxでは、pamを使って認証をしていますので、まずはpamにモジュールを追加します。
※Thinkpad 指紋認証でググるとthinkfinger使えと出てきますが、今回はwheezy(testing)に入っているlibpam-fprintdを利用します。

  1. apt-get install libpam-fprintd fprintd

これでpamの設定までしてくれます。簡単ですね。さすがパッケージ。
なお、/etc/pam.d/common-auth に下記のように追加されるはずです。
  1. auth [success=3 default=ignore] pam_fprintd.so max_tries=1 timeout=10 # debug
ここのパラメータを調整して、リトライ回数とタイムアウトを設定できます。

2・事前準備
そのままだとxlockなどの一般ユーザ権限で動くアプリがアクセスできないため、
先に /usr/share/polkit-1/actions/net.reactivated.fprint.device.policy を書き換えます。
(ずっと/dev/bus以下のパーミッションが問題かと思ってハマっていました)

内容はただのXMLで、下記のように
net.reactivated.fprint.device.verify と
net.reactivated.fprint.device.enroll の
allow_any を yes に書き換えるだけです。
  1. ...
  2. <action id="net.reactivated.fprint.device.verify">
  3. ...
  4.    <defaults>
  5.       <allow_any>no</allow_any> ←このnoをyesに書き換え
  6. ...
  7. <action id="net.reactivated.fprint.device.enroll">
  8. ...
  9.    <defaults>
  10.       <allow_any>no</allow_any> ←このnoをyesに書き換え
  11. ...

3・指紋の登録

fprintd-enroll [ユーザ名]
で登録できます。
複数回指紋を読み取らせれば登録完了します。

  1. hoge@:debian~$ fprintd-enroll hoge
  2. Using device /net/reactivated/Fprint/Device/0
  3. Enrolling right index finger.
  4. Enroll result: enroll-stage-passed
  5. Enroll result: enroll-stage-passed
  6. Enroll result: enroll-completed

なお、manpageによれば、下記のように -f オプションで指を指定出来ます。
  1. fprintd-enroll -f left-middle-finger hoge

ただし、pamの方で別の指選ぶ方法が不明で調査中です。
とりあえず右の人差し指だけでも使えれば便利なので、人差し指だけで使っています。

4・認証

通常のターミナルで認証や、sudo、XDMなどで指紋認証が使用出来るようになっているはずです。
xlockでは、パスワード認証のプロンプトが出るので、Enterを押してやると指紋を入力出来るようになります。

5・使用感

試しに導入してみましたが便利ですね。
xlock解除の手間が省けていい感じです。
ログインについては・・・ずっと起動しっぱなしなのでそれほど変わらず。

6・おまけ

自分のThinkpad X61s
CPU: Core2 L7300 @ 1.40GHz
RAM: 4GB

確か3,4年位使っていますが、性能は普段の開発なら十分です。
この間、ファンが壊れた事以外は特に問題もなく元気に動いています。
Thinkpadは保守パーツを購入可能なので、ファンは自力で修理。このままあと5年は戦えます。
社内ではいい加減買い換えろとか、macにしろとか言われますが。