macOS sonomaも含め、現代のmacOSにはsudoが含まれています。 Linux程ではないのですが、macOSでもsudoによる権限昇格の必要性はあるので、必要な時に使うこととなりますが、 実は昇格時に必要となるパスワード入力をTouchIDで代用するという機能が実装されていたのでした。

やり方はかなり簡単で、pam(pluggable authentication module)にて「認証時にTouchIDを使う」ためのモジュールpam_tidを使わせるようにすればいいのでした。 設定自体は、ファイル /etc/pam.d/sudo_local.template にコメントアウトした状態でおいてくれてるので、コメントを外して有効化してsudo_localにすればOKです。 よってこんなコマンドラインでいかがでしょうか。

1
2
3
$ cd /etc/pam.d
$ sed -e 's/#auth/auth/' ./sudo_local.template # コメントが外されることを確認
$ sed -e 's/#auth/auth/' ./sudo_local.template | sudo tee sudo_local

これで以降のsudo実行時にTouchIDが有効化されます。

1
2
$ sudo -k # 認証キャッシュを消す
$ sudo pwd

これでTouchIDが出ればOKです。同様に認証キャッシュは行われます。

TouchID使用時