让终端 sudo 时用上 Touch ID

用了一段时间MacBook Pro with TouchBar,感觉开机或唤醒时读指纹还是很方便的,但安装一些软件或执行命令操作时还是需要输入密码,似乎不那么省事,对设置复杂密码也不够友好。今天学到了一个新技巧,让我们在终端里sudo执行命令时不再需要手输密码,而是Touch ID验证。

修改/etc/pam.d/sudo这个文件,建议用
sudo nano /etc/pam.d/sudo
(当然,你也可以用vi,记得最后:wq!强制保存就行了)。
第一行增加
auth sufficient pam_tid.so

注意这里顺序是重要的,并不是可有可无。一般来说添加以后的效果如下:

 

auth sufficient pam_tid.so
# sudo: auth account password session
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" [readonly] 7L, 273C

补充说明:pam_smartcard.so这一行不是都会有,好像是针对Apple Watch解锁的配置。

现在尝试下sudo操作吧,应该会看到提示识别指纹而不是输入密码了。

让终端 sudo 时用上 Touch ID

这个方法是直接修改sudo的权限要求,所以对iTerm2等第三方终端工具也是生效滴。