使用 TouchID / AppleWatch 认证终端

前言

在新款 Mac 中,各种需要给予 root 权限的地方可以很方便地使用 TouchID 或是 Apple Watch 代替「输入密码」这一步骤,但是终端(Terminal / iTerm 2)中和命令行相关的 sudo 却不会触发生物认证而是要求输入密码

根据如下配置,则在终端要求输入密码时会弹出生物认证而不要求必须输入密码

步骤

(适用于 bash / zsh 终端)

修改这一文件 /etc/pam.d/sudo (注意必须使用 root 权限)

1
sudo vim /etc/pam.d/sudo

在 smartcard 前添加一行(必须在最前面,否则依然会提示输入密码)

1
auth       sufficient     pam_tid.so

然后保存(因为文件是只读的所以必须 :wq! 保存)

这一修改在系统升级时可能失效,届时重新修改一次即可

Troubleshouting

如果用的是较老版本的 iTerm 2(新版已经默认配置好了),还需要进行额外配置:

打开 iTerm 2 的偏好设置,选择高级,将「Allow sessions to survive logging out and back in」设置为「Yes」