端末から sudo
を実行した際に Touch ID で認証を行う方法がありますが、これを Apple Watch で行う方法です。
確認した環境は以下の通りで、他の環境では試せていませんが、APIの都合で Catalina 以降でしか使えないようです。
- Mac mini 2018 (macOS Catalina 10.15.4)
- Apple Watch Series 5 (watchOS 6.2.1)
PAM WatchID
インストール
上記からソースをクローンしてインストールします。(事前にコマンドライン開発環境は必要ですが割愛)
$ git clone https://github.com/biscuitehh/pam-watchid.git
$ cd pam-watchid
$ sudo make install
pam編集
次に /etc/pam.d/sudo
を編集し、コメントを除いた最初の行にインストールした pam_watchid.so
を記述します。引数に reason=
以降を加えるとそれが認証ダイアログで表示されるようなので、入れてみます。
--- sudo 2020-05-03 03:52:15.000000000 +0900
+++ sudo 2020-05-03 03:50:51.000000000 +0900
@@ -1,4 +1,5 @@
# sudo: auth account password session
+auth sufficient pam_watchid.so "reason=管理ユーザとして認証"
auth sufficient pam_smartcard.so
auth required pam_opendirectory.so
account required pam_permit.so
sudo vi /etc/pam.d/sudo
などとした場合には :w!
などで強制的に保存してください。
動作内容
Apple Watch 側で認証を求める次のような画面が表示されます。