Leave a Comment
前言
经常使用命令行的小伙伴一定对 sudo
命令不陌生,它可以以特定用户身份执行特定的命令。很多时候我们也会用它来执行系统管理命令。
但是,每次以非 root 身份执行 sudo
时,都必须输入密码。这种操作对于配备 Touch ID 的 MacBook Pro 用户肯定多少有些不爽的。
我也因为这个问题而不爽了好久,如果能够通过刷指纹验证 sudo
,那该有多爽啊!
前一个星期非常偶然地看到一篇文章,介绍了如何使用 Touch ID 来验证 sudo
命令。
这篇文章顿时让我激动不已,马上尝试了一下,果然非常爽!好东西不敢独享,于是我把它整理成了一条命令,方便大家使用。
系统环境
由于系统的功能是随着升级而不断变化的,所以不保证长期有效。
- 机型:MacBook Pro 15″ 2017
- 系统:macOS 10.13.1
操作方法
打开“终端”,执行以下命令:
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
。
效果
打开终端,执行 sudo su
,然后就可以刷指纹啦,爽歪歪~
下面是 Touch Bar 的提示。
有小伙伴可能会担心远程登录(如 SSH)会不会依然要求刷指纹,我试了一下,是不会的,请放心使用!