加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么直接运行bash脚本不需要用户权限,但运行脚本的.app文件需

发布时间:2020-12-15 21:26:52 所属栏目:安全 来源:网络整理
导读:我有一个bash脚本myscript,它会加载一些Applecript来提示用户的图形界面,询问他的密码. 如果我直接在.app包之外运行bash文件,它可以在没有系统提示的情况下执行它你想让这个程序访问… [stuff]? 但是如果我将相同的bash文件放在.app包中(与脚本同名),并双击
我有一个bash脚本myscript,它会加载一些Applecript来提示用户的图形界面,询问他的密码.

>如果我直接在.app包之外运行bash文件,它可以在没有系统提示的情况下执行它你想让这个程序访问… [stuff]?
>但是如果我将相同的bash文件放在.app包中(与脚本同名),并双击.app文件,那么它将首先显示系统提示以请求用户授权.我没有为该应用添加任何特殊权利.

是否有链接解释了.app安全性与执行脚本的不同之处,而不是命令行?

解决方法

在这两种情况下,脚本都是由应用程序启动的.在一种情况下,应用程序是终端,它具有所需的权限.此时你的应用还没有.

这是10月10日的变化,在release notes中描述:

Sending Apple events from an app—including script applets—now requires user approval. The list of currently approved apps can be viewed and edited in the Automation category in the Privacy tab in System Preferences > Security & Privacy. If an event is blocked because the user didn’t approve that app,the event will fail with the error code: -1743 (“: Not authorized to send Apple events to “). An event can be preflighted using AEDeterminePermissionToAutomateTarget(::::).

Mojave对Apple Events(AppleScript的核心)进行了非常严格的控制,这使得自动化变得非常复杂. Michael Tsai has aggregated a lot of helpful discussion of the issues.

另见:com.apple.iTunes AEDeterminePermissionToAutomateTarget is always return -600

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读