用Touch ID替换密码提示以读取钥匙串密码


14

我正在使用以下命令从Shell脚本中的钥匙串中获取密码: security find-generic-password -w -s "MyServiceName"

它可以工作,但是会显示一个弹出窗口,要求我输入登录钥匙串密码:

security想要使用存储在钥匙串“ MyServiceName”中的机密信息。为此,请输入“登录”钥匙串密码。

随着选项DenyAllowAlways Allow

但是我不想每次都输入钥匙串密码,所以我不能使用“允许”,而宁愿不要“始终允许”以保持一定的安全性。

理想情况下,我想获得一个Touch ID提示。有什么办法吗?


那太好了 !你有找到东西吗
ZedTuX

我不确定这是否能回答您的问题,但您可以使用sudo使用TouchID代替密码对话框,请参见此处:osxdaily.com/2017/11/22/use-touch-id-sudo-mac
Harv

Answers:


3

为此,我无法找到允许该security命令使用Touch ID的任何方法。本文标题为:如何在Mac OS上使用Touch ID对sudo进行身份验证,在有关sudo然后使用Touch ID 的注释中提到,在此将无法正常工作,因为它利用了以下这一行:

auth sufficient pam_tid.so

sudoPAM文件/etc/pam.d/sudosecurity由于没有使用,因此没有什么等效于该命令的sudo

因此,在运行security命令时,您只能使用对话框中提到的两种方法之一:

  • 总是允许
  • 允许

ss1

如果选择“始终允许”,则将无限期地仅授予security命令访问权限。如果您选择“允许”,它将security仅授予1次钥匙串访问权限。

在这里,我在钥匙串中创建了一个名为TestPassword的应用程序密码项。

ss2

通过查看此对话框的“ ACL”选项卡,我们可以看到没有任何访问权限。

ss3

如果我运行此security命令:

$ security find-generic-password -w -s "TestPassword"

并永久“始终允许”,我将从钥匙串中获得该物品的密码:

TestPassword123

但更重要的是,我将security在钥匙串中将此项目添加到ACL中。

ss4

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.