Ubuntuで指紋認証を使う話

しばらく更新していなかったこちらのホームページですが、いい加減何か情報を発信していこうかなと思って再開しようと思います。

今回は、下記の環境で、指紋認証を使えるようにしてみます。

環境とハードウェア調査

ハードウェアHP ZBook Studio G7
OSUbuntu 24.04 LTS

まずは、OSで指紋認証デバイスが認識されているかを見てみる。きっとUSB接続だろうと思って、lsusbをしてみる。
(注: lspciもしてみて、それっぽいやつがないのも確認しました。)

user@user-ZBook-Studio-G7:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 04f2:b6c8 Chicony Electronics Co., Ltd HP HD Camera
Bus 001 Device 003: ID 06cb:00df Synaptics, Inc.
(以下略)

ということで、たぶん、synaptics, Incというやつが、指紋認証デバイス。

動作させるための試行錯誤

必要なライブラリを導入してみるが…

$ sudo apt install fprintd libpam-fprintd 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
fprintd はすでに最新バージョン (1.94.3-1) です。
fprintd は手動でインストールしたと設定されました。
libpam-fprintd はすでに最新バージョン (1.94.3-1) です。
libpam-fprintd は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 7 個。

となっていて、すでにライブラリは導入されていた!?

とりあえず、指紋登録のコマンドを叩いてみる。

$ fprintd-enroll 
Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

デバイスが見つからないらしい…
ということで、先程のデバイスID: 06cb:00dfを調べてみると、認識させるのに手順を踏む必要があるらしい。
参考URL: https://askubuntu.com/questions/1307127/synaptics-6cb00df-fingerprint-sensor-not-working

$ sudo snap install fwupd --classic
Warning: flag --classic ignored for strictly confined snap fwupd

fwupd 2.0.18 from Richard Hughes installed
$ fwupdmgr enable-remote lvfs-testing 
(ここに注意事項が表示される)
Agree and enable the remote? [Y|n]: y
Authenticating…          [                -                      ]
Do you want to refresh this remote now? (Requires internet connection) [Y|n]: Y
Downloading…             [************************************** ]
Successfully enabled and refreshed remote
$ fwupdmgr refresh --force
Updating lvfs-testing
Downloading…             [**********************************     ]
Updating lvfs
Downloading…             [**********************************     ]
Successfully downloaded new metadata: 2 local devices supported
$ fwupdmgr update
Devices with no available firmware updates: 
 • ELAN071D:00 04F3:312E
 • USB3.1 Hub
 • USB3.1 Hub
 • KXG6AZNV512G KIOXIA
 • System Firmware
 • ThinkPad Hybrid USB-C with USB-A Dock
 • ThinkPad USB-C Dock Hybrid PD Controller
 • Thunderbolt host controller
 • UEFI Device Firmware
 • UEFI Device Firmware
 • UEFI Device Firmware
 • UEFI dbx
 • USB2.0 Hub
 • USB2.0 Hub
╔══════════════════════════════════════════════════════════════════════════════╗
║ Upgrade Prometheus from 10.01.3238595 to 10.01.3273255?                      ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ New features and enhancements:                                               ║
║                                                                              ║
║ • Support Linux system                                                       ║
║                                                                              ║
║ Prometheus and all connected devices may not be usable while updating.       ║
╚══════════════════════════════════════════════════════════════════════════════╝
Perform operation? [Y|n]: Y
Downloading…             [                                       ] Less than one minute remDownloading…             [*                                      ] Less than one minute remDownloading…             [*                                      ] Less than one minute remDownloading…             [*                                      ] Less than one minute remDownloading…             [**                                     ] Less than one minute remDownloading…             [**                                     ] Less than one minute remDownloading…             [***                                    ] Less than one minute remDownloading…             [***                                    ] Less than one minute remDownloading…             [***                                    ] Less than one minute remDownloading…             [****                                   ] Less than one minute remDownloading…             [****                                   ] Less than one minute remDownloading…             [*****                                  ] Less than one minute remWriting…                 [                                       ] Less than one minute remVerifying…               [***********************                ] Less than one minute remWaiting…                 [***************************************]
Successfully installed firmware
╔══════════════════════════════════════════════════════════════════════════════╗
║ Upgrade Prometheus IOTA Config from 0025 to 0026?                            ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ New features and enhancements:                                               ║
║                                                                              ║
║ • Support Linux system                                                       ║
║                                                                              ║
║ Prometheus IOTA Config and all connected devices may not be usable while     ║
║ updating.                                                                    ║
╚══════════════════════════════════════════════════════════════════════════════╝
Perform operation? [Y|n]: Y
Writing…                 [                                       ] Less than one minute remWaiting…                 [***************************************]
Successfully installed firmware

となり、なんか有望そうな表示が出てくるので、期待できそう。

指紋認証の設定

設定は、いつの間にかGUIでできるようになっていたっぽい。
Ubuntuの設定 ==> システム ==> ユーザー とたどって項目を見てみると、

こんな感じで、指紋認証ログインという項目が出てくる。

選択すると、ウィザートが開いて、指紋が登録できるようになる。
指の種類(!?; 人差し指とか)を指定して、何度かスキャンさせて、指を登録する。

設定が成功したら、指紋認証ログインの項目が、「有効」になる。

認証設定

Ubuntu、というか、Linuxで、認証を司るPAMに指紋認証を紐付ける。
これにより、sudo時に指紋認証ができるようになるはず。

$ sudo pam-auth-update

下記のようなGUIライクな表示が出てきて、Fingerprint authenticationを認めるかどうかの選択ができるようになる。スペースキーで、”*”をつけ、有効化する。

以上で、設定はすべて完了となったはず。

試しに新しいターミナルを立ち上げ、

sudo ls

とか、適当なコマンドを実行しようとすると、

指紋読取装置に指を置いてください

というメッセージがTerminalに表示され、指紋認証で、認証できるようになった。

めでたしめでたし。

コメントを残す