经常使用终端的童鞋对于 sudo 命令肯定不陌生,它可以以特定用户身份执行特定的命令。很多时候我们也会用它来执行系统管理命令。然而,以非 root 运行 sudo 时,都必须输入密码,这种操作对于配备 Touch ID 的 MacBook Pro 用户肯定多少有些不爽的,如果能用指纹认证 sudo 该多爽啊!
通过搜索引擎,我发现了一种能用 Touch ID 来认证 sudo 的方法,特此记录。由于系统的功能是随着升级而不断变化的,所以不保证长期有效,笔者目前的机器是2018款13寸MacBook Pro,运行 macOS Mojave 10.14.6。
打开“终端”,执行以下命令:
sudo sed -i ".bak" '2s/^/auth sufficient pam_tid.so\'$'\n/g' /etc/pam.d/sudo
然后输入管理员密码,回车,大功告成了!
● 该命令的作用是把 /etc/pam.d/sudo 备份为 /etc/pam.d/sudo.bak,然后在 /etc/pam.d/sudo 的第二行前面加入 auth sufficient pam_tid.so 这个字符串。
● 修改该文件的目的是在 sudo 程序的认证过程前面插入 Touch ID 验证的模块。感兴趣的小伙伴可以去了解一下 PAM 架构。
● 如果需要恢复原文件,请执行:sudo mv /etc/pam.d/sudo.bak /etc/pam.d/sudo。
效果如下:
当然,若我们此时不方便使用指纹,也可以点击取消输入管理员密码进行认证。