刚用 macOS 一个月,每次 sudo 输密码很麻烦,今天搜了一下,果然有办法使用 touch ID 认证,Awesome😋 方法如下:
创建配置文件
```markdown
sudo cp /etc/pam.d/sudo_local.template /etc/pam.d/sudo_local
编辑刚刚创建的配置文件
sudo vim /etc/pam.d/sudo_local
取消注释#auth sufficient pam_tid.so
- #auth sufficient pam_tid.so
+ auth sufficient pam_tid.so
![]() |
1
kqq19930511 4 天前 ![]() 之前写了个脚本,发现每次系统更新完之后 sudo 就被还原了,自动检测是否支持 touch id ,可以参考一下
``` #!/bin/bash AUTH_FINGERPRINT='auth sufficient pam_tid.so' FILE=/etc/pam.d/sudo if [[ `sed -n '2p' $FILE` == $AUTH_FINGERPRINT ]];then echo "terminal fingerprint already added `date +'%Y/%m/%d %H:%M:%S'`" else sudo sed -i '.bak' "2i\\ $AUTH_FINGERPRINT\\ " $FILE fi ``` |
![]() |
2
NASK OP ![]() @kqq19930511 我看你的脚本检测的 sudo 文件的内容进行修改,可以试试我这种,理论上升级系统后不会失效。
因为 macOS 的/etc/pam.d/sudo_local.template 文件有这样一句注释 #sudo_local: local config file which survives system update and is included for sudo |
3
wuxie01 4 天前
好用! 赞
|
![]() |
4
Tiande 4 天前 via Android
学习了
|
5
hwdq0012 4 天前
echo -n "passwd" | sudo -S xxx
这个指纹就代替不了了吧,虽然这是很不安全的做法,但是有一些情景还是适用的 |
![]() |
6
kqq19930511 4 天前
@NASK #2 我试一下,下次看看系统升级后有没有问题
|
![]() |
7
bao3 4 天前
同楼上,把那一条存到 iterm2 的作弊条里,直接发送就行
|