可以通过OS X 10.8 Mountain Lion中的终端禁用Gatekeeper吗?


17

如何在OS X 10.8 Mountain Lion中通过终端命令禁用Gatekeeper?我希望复制“安全性和隐私”首选项窗格的选择,以允许从任何地方下载的应用程序运行:

在此处输入图片说明

通过使用终端命令,我可以编写脚本来远程执行此任务,而不是手动转到每台Mac并用鼠标和单击几下更改这些设置。

Answers:


22

SPCTL工具应该做的工作。

sudo spctl --master-disable将关闭Gatekeeper检查,并sudo spctl --master-enable重新启用它们(为App Store和已签名应用程序的默认设置-似乎不可能将其设置为“仅App Store”)。

请注意,如果在没有sudo权限的情况下运行它,它不会引发任何错误,但sudo实际上是必需的。


1
手册页中说,spctl --disable --label“ Mac App Store”将禁用所有Mac App Store应用程序的安装,因此,似乎只能启用MAS应用程序。
梅根·沃克

@SamuelWalker我之前没有注意到,但是真正需要的是等同于所有非App Store应用程序的规则或标签。否则就没有意义了,因为您不能根据我的判断独立禁用所有其他来源。
robmathers 2012年

确实如此。我只是查看了实际的SystemPolicy数据库,据我所知,它只使用了一些标签。“ GKE”,“开发人员ID”,“ Mac App Store”,“ Apple System”,“ Apple Installer”,“无匹配规则”。尽管这些字符串是任意的[并且在将来的OSX版本中可能会更改],这可能太过分了,但是您似乎可以手动禁用GKE和开发人员ID。
梅根·沃克

@robmathers,感谢您的回复!我了解到另一种解决方法:您可以右键单击安装程序,然后单击打开(这将打开应用程序
Brian McCarthy

是的,如果您只需要一次性运行某些内容,那肯定是更简单的方法。
robmathers 2012年


3

这些选项中的任何一个也将禁用Gatekeeper对话框(重新启动后),但是它们不会更改“系统偏好设置”中显示的设置。

sudo defaults write /var/db/SystemPolicy-prefs.plist enabled -string no
defaults write com.apple.LaunchServices LSQuarantine -bool false

我不知道是否spctl --master-disable与从“系统偏好设置”中禁用Gatekeeper有所不同,但是在“系统偏好设置”中禁用Gatekeeper之后会spctl --status更改为assessments disabled

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.