为 sudo 命令启用 Touch ID 和 Apple Watch

在 Mac 上使用 sudo 命令时,可使用 TouchID 和/或 Apple Watch 代替输入密码。

支持 Touch ID 的 Mac 上原生支持使用 TouchID 和 Apple Watch 解锁,执行 sudo 命令时 Touch ID 和 Apple Watch 都会弹出确认对话框。

开启方法:在 PAM 的配置文件 /etc/pam.d/sudo 开头加入以下内容即可:

auth       sufficient     pam_tid.so

不支持 Touch ID 的 Mac 需要安装额外的 PAM 插件 pam-watchid 以使用 Apple Watch。按照 README 中的步骤安装即可。

在 tmux 中使用 sudo 命令时,会发现不能使用 Touch ID 或 Apple Watch 解锁。此时需要安装额外的 PAM 插件 pam_reattach。使用 Homebrew 可快速安装:

brew install fabianishere/personal/pam_reattach

然后在 /etc/pam.d/sudo 文件的开头加入以下内容即可:

auth     optional     pam_reattach.so

macOS 在每次更新系统时都会重置系统文件,因此会丢失 /etc/pam.d/sudo 文件的修改。故每次更新系统后都需要重复上述步骤。