macos - 重置 macOS 应用程序安全警报
问题描述
从 Internet 下载应用程序时,通常会出现一个对话框,询问您是否要打开它以及它是否已签名和/或公证。
现在我已经打开了我的应用程序一次,所以对话框不会再次出现。
如何重置系统,以便我可以看到用户第一次下载该应用程序时会看到什么?
解决方案
好的。我想我明白了,但这有点奇怪(我不得不删除该应用程序并从我测试从互联网下载的应用程序的 .zip 存档中重新提取它)。
所以我上面的评论仍然适用 - 删除允许应用程序通过路径的规则的简单方法似乎不起作用:
我不确定这是 spctl 中的错误还是什么,但它似乎无法删除基于路径的规则。我总是收到错误消息:“{app path}: no matches for search or update operation”:-/
然而,引用规则的另一种方法是使用它们的“规则编号”和--rule
参数。要查找规则编号,我必须使用 --help 输出或手册页中似乎未记录的命令: --list
spctl -v -v -v -v --list -t execute
列出所有执行规则,您可以看到应用程序的规则(通常在输出的顶部)。规则编号位于标签或组的“[”之前的最左侧。
然后,您可以通过删除规则
spctl -v -v --remove --rule 5417
(显然,将 5417 替换为您的条目规则。
然后,如果您这样做spctl -v -v --raw -a --path "path to your app"
,您将看到assessment:verdict
密钥现在是错误的。
奇怪的是,当我立即启动应用程序时,至少 10.13.6,它仍然在没有对话框的情况下启动...... :-/ 我认为这是一种缓存情况,因为在我删除应用程序并重新- 提取它仍然启动的应用程序。
但是在我清空垃圾箱并启动其他一些应用程序然后回来提取这个应用程序并再次启动它之后,我得到了预期的你的政策不允许这个应用程序启动对话框。
试一试,看看它是否适合你。
推荐阅读
- c++ - ifstream >> 运算符的分段错误
- openiddict - OpenIddict 解密密钥失败
- java - Spring Framework 的 ListenableFuture#addCallback 完成回调由哪个线程执行?
- javascript - 如何在Javascript中对任意数量的具有不同长度的数组的元素求和?
- apache-kafka - Kafka连接验证源数据和目标数据
- javascript - 为什么在使用 scss 和 css 时没有设置背景颜色?
- abp - 是否可以在 ABP.IO 框架中启用双因素身份验证..?
- c# - 通过 api 获得 Google AdWords 帐户权限
- java - 如何使用 Checker 框架将 NNEL(非 Null 除局部变量)声明为 API 的默认值
- powerbi - 如何使用 Power BI 度量生成快照表