「Fprint」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎登録の制限: 抜けている説明を英語版より追加)
78行目: 78行目:
 
=== 登録の制限 ===
 
=== 登録の制限 ===
   
デフォルトでは新しい指紋を登録するのにパスワードを入力する必要はありません。[[Polkit]] ルールを使うことでパスワード入力必須にすることができます。
+
デフォルトでは新しい指紋を登録するのにパスワードを入力する必要はありません。[[Polkit]] ルールを使うことで動作変更することができます。
   
  +
polkit の設定ファイルは、次の2つの場所に保存されています。
There are two locations that contains the polkit configuration files:
 
   
 
* {{ic|/etc/polkit-1/rules.d/}}
 
* {{ic|/etc/polkit-1/rules.d/}}

2021年7月7日 (水) 11:15時点における版

関連記事

fprint のホームページ より:

fprint プロジェクトは商用の指紋認証デバイスのサポートという Linux デスクトップの隙間を埋めることを目指しています。

ノートパソコンに内蔵されている指紋リーダーを使用して PAM を使ったログインを行うというアイデアです。この記事ではバックアップ用にログインで通常のパスワードを使う方法も説明しています (指紋スキャナーが推奨されない理由は多数存在します)。

要件

使っている指紋スキャナーがサポートされていることを確認してください。あなたのデバイスがサポートされているかどうかは この サポートされているデバイスのリストで確認できます。あなたのデバイスを確認するには、次を入力してください:

$ lsusb
ノート: デバイスのリストは不定期更新であり不完全です。リストにデバイスがない場合でも以下の手順を試す価値があります。

インストール

公式リポジトリから fprintd をインストールしてください。imagemagick も必要かもしれません。

Some devices require a different fork of libfprint specifically made for touch-based sensors and not (yet?) merged with the main libfprint: libfprint-tod. This is available as libfprint-tod-gitAUR

ノート: libfprint-tod はlibfprint 本体に含まれていない一部の接触型指紋センサーへ対応した派生版です。libfprint-tod-gitAUR としてインストールできます。

設定

ログイン設定

ノート:
  • GDM を使っているなら、ログインメニューで指紋オプションが使えるはずです (使えない場合、ユーザーを input グループに追加してみてください)。このセクションは飛ばして下さい。
  • SDDM を使う場合、SDDM#指紋認証の利用を参照してください。

pam_fprintd.sosufficient として /etc/pam.d/system-local-login の auth セクションの一番上に追加してください:

/etc/pam.d/system-local-login
auth      sufficient pam_fprintd.so
auth      include   system-login
...

これで最初に指紋によるログインが試行され、それが失敗したりユーザーのホームディレクトリに指紋署名がない場合、パスワードによるログインになります。

同じように /etc/pam.d/{login,su,sudo,gdm,lightdm} 内の他のファイルを修正することもできます。例えば GNOME の polkit 認証なら /etc/pam.d/polkit-1 です。

pam_fprintd.sosufficient として追加すると、指紋署名が登録済みのときにパスワード認証ではなく指紋認証が促されます。パスワード認証と指紋認証を両方使えるようにするには先頭に以下の内容を追加します:

/etc/pam.d/sudo
auth		sufficient  	pam_unix.so try_first_pass likeauth nullok
auth		sufficient  	pam_fprintd.so
...

最初にパスワードを促され、入力せずに Enter キーを押すと指紋認証が行われます。

指紋署名の作成

登録するには、認証エージェントを実行する必要があります。

指の署名を追加するには、次を実行してください:

$ fprintd-enroll

指をスキャンするように求められます。その後、/var/lib/fprint/ に署名が作成されます。

5本の指全ての署名を新しく作成するには ([username] は実際のユーザー名に置き換えてください):

$ fprintd-delete [username]
$ for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f $finger [username]; done

詳しくは、man fprintd を見て下さい。

登録の制限

デフォルトでは新しい指紋を登録するのにパスワードを入力する必要はありません。Polkit ルールを使うことでこの動作を変更することができます。

polkit の設定ファイルは、次の2つの場所に保存されています。

  • /etc/polkit-1/rules.d/
  • /usr/share/polkit-1/rules.d/
ノート: /etc/polkit-1/rules.d/ の設定ファイルはパッケージ更新時に上書きされます。最初に設定ファイルを /etc/polkit-1/rules.d/ から /usr/share/polkit-1/rules.d/ にコピーしてください。

以下の例ではスーパーユーザーだけが指紋を登録できるようになります:

/etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
polkit.addRule(function (action, subject) {
  if (action.id == "net.reactivated.fprint.device.enroll") {
    return subject.user == "root" ? polkit.Result.YES : polkit.result.NO
  }
})

トラブルシューティング

利用可能なデバイスがない

サポートされているデバイス が見つからない、または既に開いている(使用中)と言われる場合は、fprintd のログを以下の方法で確認してください:

# journalctl -u fprintd.service

次のようなログエントリが見つかるかもしれません:

fprintd[2936592]: Corrupted message received
fprintd[2936592]: Ignoring device due to initialization error: unsupported firmware version

Fwupd でデバイスのファームウェアを最新の状態にしてください。