Linux

Arch Linuxにfprintによる指紋認証を導入する

2017/02/12

私の愛機であるLOOX Pには指紋認証デバイスが装備されています。

当然、Windowsで使用する場合には標準でツールが提供されていますが、
私はこのマシンでArch Linuxを使用しており、しばらく通常のパスワード認証で運用していました。

しかし、先日Linuxでも指紋認証を実装できるソフトウェアがあると知り、幸運にもLOOX Pに使用されているデバイスは対応していましたので、導入してみました。
その導入方法を紹介します。

搭載されている指紋認証デバイスを調査

まずは、PCに搭載されている指紋認証デバイスを調査します。ターミナルから以下のコマンドを入力してください。

$ lsusb

すると、PCに接続されているデバイスが一覧表示されます。私の環境では以下のように出力されました。

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 0430:0530 Sun Microsystems, Inc. 
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 0c24:0021 Taiyo Yuden Bluetooth Device (V2.1+EDR)
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 08ff:2550 AuthenTec, Inc. AES2550 Fingerprint Sensor
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

この場合、「Bus 006 Device 002: ID 08ff:2550 AuthenTec, Inc. AES2550 Fingerprint Sensor」が指紋認証デバイスとなります。

そして、fprintのサポートデバイス一覧のページに、搭載されているデバイスがあるかどうかを確認します。

自分のデバイスがサポートされていればインストールを行いましょう。

fprintのインストール

ターミナルを開き、root権限で次のコマンドを実行してください。

# pacman -S fprint

インストールが完了したら、次は指紋の登録を行います。

指紋の登録

指紋の登録には、以下のコマンドを使用します。

$ fprintd-enroll

コマンドを実行すると、数回指紋を読み取るよう指示されますので、それに従い指紋を登録します。

私の環境での実行結果は以下の通りです。

Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed

オプションなしで実行した場合には右手人差し指の登録となります。

本来、-fオプションを用いることで登録する指紋の指定ができるようですが、私の環境ではエラーが出ましたので、/var/lib/fprint/[ユーザー名]に出力される認証用ファイルをリネームすることで複数の指を登録しました。

認証を有効化

最後に、指紋認証を実際に使用できるように有効化します。

/etc/pam.dに、Linuxにおける標準的な認証システムであるPAMの設定ファイルがありますので、指紋認証を使用したいソフトウェアの設定ファイルを編集します。

例えば、suコマンドでの認証に使用したければ「su」を、LightDM greeterによるログイン画面で使用したければ「lightdm-greeter」を編集します。

目的のファイルをroot権限で開き、上方に

auth sufficient pam_fprintd.so

の行を追加します。

これにて認証の場面でfprintによる指紋認証が可能となっているはずです。お疲れ様でした。


-Linux
-, , ,