Можно ли отключить Gatekeeper через терминал в OS X 10.8 Mountain Lion?

Как отключить Gatekeeper с помощью команд терминала в OS X 10.8 Mountain Lion? Я хочу воспроизвести выбор панели настроек «Безопасность и конфиденциальность», чтобы разрешить запуск приложений, загруженных из любого места:

введите описание изображения здесь

Имея команду терминала, я могу написать сценарий для удаленного выполнения этой задачи, а не вручную переходить к каждому Mac и изменять эти настройки с помощью мыши и нескольких щелчков мыши.

Ответы (3)

Инструмент spctl должен сделать эту работу.

sudo spctl --master-disableотключит проверки Gatekeeper и sudo spctl --master-enableснова включит их (настройку по умолчанию для App Store и подписанных приложений — не похоже, что установка только для App Store возможна).

Обратите внимание, что он не выдаст никакой ошибки, если вы запустите его без sudoразрешений, но sudoна самом деле это необходимо.

На странице руководства говорится, что spctl --disable --label «Mac App Store» отключит установку всех приложений Mac App Store, поэтому вполне возможно, что он может --enable только приложения MAS.
@SamuelWalker Раньше я этого не замечал, но действительно требуется правило или метка, эквивалентная всем приложениям, не входящим в App Store. В противном случае это спорно, так как вы не можете отключить все другие источники независимо от того, что я могу сказать.
Это правда. Я только что просмотрел настоящую базу данных SystemPolicy и, насколько я могу судить, там используется лишь несколько меток. «GKE», «Идентификатор разработчика», «Магазин приложений для Mac», «Система Apple», «Установщик Apple», «Правило не соответствует». Хотя эти строки являются произвольными [и могут измениться в будущих версиях OSX], это может быть слишком хакерским, но вполне возможно, что вы можете вручную отключить GKE и идентификатор разработчика.
@robmathers, спасибо за ответ! Я узнал еще один обходной путь: вы можете щелкнуть правой кнопкой мыши установщик и нажать «Открыть» (что откроет приложение без проверки с привратником)
Да, это определенно более простой способ, если вам просто нужно что-то запустить на разовой основе.
sudo spctl --master-disable

См. справочную страницу для spctl

Любой из них также отключает диалоговые окна гейткипера (после перезапуска), но не изменяет настройку, отображаемую в Системных настройках.

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

Я не знаю, отличается ли spctl --master-disableэто как-то от отключения привратника из Системных настроек, но spctl --statusменяется assessments disabledпосле отключения привратника в Системных настройках.