🐈

macOS SonomaからsudoでTouch IDを使いやすくなった

2023/11/09に公開

macOSでは /etc/pam.d/sudo ファイルの先頭あたりに以下のような一行を追加することで sudo の認証にTouch IDを使うことができます。

auth       sufficient     pam_tid.so

しかし、/etc/pam.d/sudo はOSのセキュリティーアップデート等の度にリセットされ、その度に書き換える必要がありました。これは不便に思っていました。

ところが先日遅ればせながらmacOS Sonomaにアップグレードしていつものように /etc/pam.d/sudo を編集しようとしたところ、中身がちょっと変わっていました。

# sudo: auth account password session
auth       include        sudo_local
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

お分かりですね。/etc/pam.d/sudo_local を読み込んでくれるわけです。同ファイルはデフォルトでは存在せず、代わりに /etc/pam.d/sudo_local.template が存在します。

# sudo_local: local config file which survives system update and is included for sudo
# uncomment following line to enable Touch ID for sudo
#auth       sufficient     pam_tid.so

はい。そのものズバリですね。これをコピーして /etc/pam.d/sudo_local を作成し、pam_tid.so の行をコメントアウトしてやるだけです。
これによってシステムが更新されても sudo でTouch IDが利用可能なままになります。
こういう地味だけど便利な変更は嬉しいですね。

Discussion