启动无法访问Mac OS钥匙串

时间:2017-11-30 21:35:09

标签: macos keychain launchd

我有一个python脚本,我出于某种原因通过shell脚本执行(这里不重要)。在我的脚本中,我基本上是获取一些网址内容并向特定的人发送电子邮件。我已经使用类似的东西添加了安全密钥链 security add-generic-password -s SMTP -a USERID -w PASSWORD

从命令行运行时,系统提示我提供访问权限 'security'命令的keychain项。授予后 通过Keychain Access访问我可以运行脚本,它不再 提示检索密码,它确实向我发送了电子邮件。

但是Cron Job和Launchd没有给我想要的输出。谷歌搜索后我发现cronjob无法访问钥匙串,我需要在作为cron作业运行时提供密码,如果我希望它能达到目的。如果它能够访问钥匙串,我不确定是否已启动。对于Ruby来说,这似乎对下面的人有用。 https://lists.macosforge.org/pipermail/launchd-dev/2008-August/000363.html

我和那个人有同样的问题。从launchctl调用时,我没有收到任何电子邮件。但是,如果我在代码中对密码进行硬编码,我会在指定时间收到电子邮件。所以我假设我的问题是launchd无法读取的钥匙串。有没有办法授予对launchd钥匙链的访问权限? 我在$ HOME / Library / LaunchAgents目录中有我的com.Query.plist文件。

1 个答案:

答案 0 :(得分:1)

我今天也碰到了这个。

似乎没有详细记录,但是如果您将以下内容添加到plist中,那么当您作为LaunchAgent运行时,您的应用程序将能够看到用户钥匙串:

<key>SessionCreate</key>
<true/>

感谢: