gpt4 book ai didi

macos - mac 安全命令在守护进程运行时需要写权限?

转载 作者:行者123 更新时间:2023-11-28 21:47:52 26 4
gpt4 key购买 nike

我的任务是将 Tomcat/Jenkins 安装从已弃用(现已在 Yosemite 中删除)的 SystemStarter 框架移动到 launchd。它作为“构建”用户启动并运行良好,除了一件事。我们构建过程的一部分涉及调用“security”命令来操作钥匙串(keychain)。这是失败的,如下所示:

security: cert import failed: write permissions error
security: problem decoding

如果我通过 bin/startup.sh ssh 进入构建机器并从命令提示符启动 Tomcat,则对 security 的调用不会报错。它只在我通过 launchd 启动 Tomcat 时提示。我的 plist 看起来像这样:

<plist version="1.0">
<dict>
<key>Label</key>
<string>org.apache.tomcat</string>
<key>UserName</key>
<string>builduser</string>
<key>WorkingDirectory</key>
<string>/Users/builduser</string>
<key>Program</key>
<string>/Users/builduser/bin/tomcat.sh</string>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<true/>
</dict>
<key>EnvironmentVariables</key>
<dict>
<key>CATALINA_HOME</key>
<string>/Users/builduser/Tomcat</string>
<key>CATALINA_OPTS</key>
<string>-Djava.awt.headless=true</string>
<key>JAVA_OPTS</key>
<string>-Xmx1024m -XX:MaxPermSize=512m</string>
</dict>
</dict>
</plist>

plist 位于/Library/LaunchDaemons 中,而 tomcat.sh 只是一个启动 tomcat 然后等待进程结束的包装器。

最佳答案

我自己也遇到过类似的问题 - 我正在解码 .mobileprovision文件使用

cmd -D -i <path_to_file>

一切都在本地和 SSH 上运行,但从 Python 应用程序执行会抛出 security: cert import failed: write permissions error

我找到了 this walkaround对于似乎是同一个问题,他们最终创建了临时 keychain并在 security 中使用它命令:

cmd -D -k <specific_keychain> -i <path_to_file>

我不是 100% 确定这是否是解决此问题的正确方法,但它肯定运作良好。

关于macos - mac 安全命令在守护进程运行时需要写权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com