【发布时间】:2019-10-10 08:32:59
【问题描述】:
所有已知的先前 macOS 版本都在使用这种脚本上下文:
osascript -e "/path/to/my/app.command" with administrator privileges
现在它只是默默地失败了......在询问管理员密码后。 该命令文件是最初用于启动应用程序的文件,并且该应用程序有一个按钮可以使用特权重新启动......并且之前的非特权应用程序关闭。
如果我删除“具有管理员权限”,它会重新启动。如果存在,则不存在。
如果我尝试使用:
/usr/bin/security execute-with-privileges /path/to/my/app.command
它也失败了……甚至从不显示密码提示。
我也尝试过“sudo open /Applications/myApp.app”,但这当然不会以特权启动。
我可以从 shell sudo 启动我的应用程序,这很好,但我不能指望普通用户能够在 shell 中执行 sudo。
正如我所说,这是一个很好的方法,可能在过去 6 到 8 年里一直有效......但现在失败了。任何人有任何技巧或方法来解决它?
有一次....我不知道为什么,我看到 OSX 安全弹出窗口指示“java”不是受信任的应用程序,我的设置只允许应用商店应用程序。但这只发生过一次……而且很奇怪。我点击确定,它消失了。我想也许 java 已经被隔离了,所以我执行了清除该标志的命令:
xattr -rd com.apple.quarantine /path/to/the/binary/java
但这并没有什么不同。我确信这是 Catalina 中的新安全功能使事情变得困难......但我无法弄清楚为什么或如何解决它们。它是一个 java 应用程序,通过 app.command 文件启动,该文件在机器上找到 java 然后启动它...默认在其自己的子文件夹中查找本地副本。
【问题讨论】:
标签: java launch administrator macos-catalina