PAMに認証モジュールを並列に実行させる方法はありますか?
これは、PAMを使用しているすべての人に便利です。
PAM は、認証モジュールを逐次的かつ遮断的な方法で実行しているようです。
複数の認証メカニズムを使用したい人にとって、これは邪魔にならないメソッド階層が必要であることを意味します。
私が解決しようとしている問題は、GNomeキーリングのロックを解除するにはパスワードが必要ですが、pam_fprintdも有効になっており、顔認識カメラが使用されていることです。
つまり、初めてログインするときは、まずpam_fprintdブロックを入力し、顔認識ブロックを入力してパスワードを入力できます。
これはsudoでも起こります。これは主なPITAです。
答え1
同じ問題に直面すれば、PAMだけでは解決できないと思います。 pam_fprintd.so() のマニュアルページからman pam_fprintd
:
限定
PAMスタックはシリアル化された認証用に設計されているため、pam_fprintdがパスワードと指紋を同時に認証することはできません。
別々のPAMプロセスを実装し、別々の認証スタックを別々に実行することは、PAMサービスを使用するアプリケーションによって異なります。たとえば、gdmユーザーに複数の認証方法が提供される方法です。
たとえば、GNOMEディスプレイマネージャ(gdm3
)はパスワードとフィンガープリントの並列入力を許可し(両方は必要ではなく、どちらか一方のみが必要です)、独自に複数の認証スタックを並列に実装します。
私も一つ見つけたGitHubの問題linux-pamリポジトリでは、PAMがそれをサポートする必要があるのか、それともRFCがそれを支持しているのかについては議論されていましたが、最終的に開発者はそれを受け入れなかったようです。
結局のところ、linux-pamまたは第三者が複数の認証モジュールを並列に許可するためにPAMにいくつかの一般的な拡張を実装するまで、この答えは(残念ながら)答えのないままです。
答え2
fprintバージョン1.92以降を使用している場合は、Ctrl+を押してC指紋の使用を中止し、パスワード認証に切り替えることができます。この約束を果たす。