You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

macOS已解锁钥匙串时,如何获取钥匙串项无需密码确认?

在macOS已解锁钥匙串中免密码获取钥匙串项的配置方法

太懂这种别扭的体验了——明明钥匙串已经解锁,还要反复输入密码,尤其是帮用户存密码的时候,完全不符合逻辑!别慌,下面就给你两种靠谱的配置方法,让你在钥匙串解锁的前提下,访问指定钥匙串项再也不用输密码:

图形界面可视化配置(适合普通用户)

  • 打开「钥匙串访问」应用:可以通过Spotlight(按Cmd+Space)搜索“钥匙串访问”,或者在Launchpad的「其他」文件夹里找到它
  • 在左侧侧边栏选中目标钥匙串(绝大多数场景选「登录」钥匙串即可,这是macOS默认的个人钥匙串)
  • 在右侧列表里找到你需要配置的钥匙串项,右键点击它,选择「显示简介」
  • 在弹出的窗口中切换到「访问控制」标签页
    • 如果你想彻底放开权限(方便但安全性稍低),直接勾选「允许所有应用访问此项目」
    • 如果你想更安全,点击「+」按钮,找到你的应用程序并添加到列表中
  • 最后点击「存储更改」,此时会要求你输入一次管理员密码确认,之后再访问这个钥匙串项就无需反复输入密码了

命令行批量/开发配置(适合开发者或批量操作)

如果你习惯用终端,或者需要批量配置,可以借助macOS自带的security命令:

  1. 先定位到目标钥匙串项,比如你要修改的项名为「MyAppUserPassword」,执行:
    security find-generic-password -l "MyAppUserPassword"
    
    从输出里可以找到服务名("svce"字段)和账户名("acct"字段),后面会用到
  2. 给指定应用添加访问权限(比如你的应用路径是/Applications/MyCustomApp.app):
    security set-generic-password -l "MyAppUserPassword" -a "$USER" -s "对应的服务名" -T "/Applications/MyCustomApp.app"
    
  3. 如果想允许所有应用访问,直接用空字符串作为-T参数:
    security set-generic-password -l "MyAppUserPassword" -a "$USER" -s "对应的服务名" -T ""
    

额外注意事项

  • 所有配置仅在钥匙串处于解锁状态时生效,如果钥匙串被锁定,还是需要输入密码解锁
  • 「允许所有应用访问」虽然便捷,但会降低安全性,建议优先选择给信任的单个/少数应用授权
  • 如果你是开发应用,可以直接在代码中调用钥匙串服务API,通过配置访问控制列表(ACL)实现首次授权后免密访问,用户只需要确认一次权限即可

内容的提问来源于stack exchange,提问作者Miquella

火山引擎 最新活动