Kann Gatekeeper über das Terminal in OS X 10.8 Mountain Lion deaktiviert werden?

17

Wie kann man Gatekeeper über Terminalbefehle in OS X 10.8 Mountain Lion deaktivieren? Ich möchte die Auswahl der Einstellungen für Sicherheit und Datenschutz replizieren, damit von Anywhere heruntergeladene Anwendungen ausgeführt werden können:

Bildbeschreibung hier eingeben

Mit einem Terminalbefehl kann ich ein Skript schreiben, um diese Aufgabe remote auszuführen, anstatt manuell zu jedem Mac zu wechseln und diese Einstellungen mit einer Maus und mehreren Klicks zu ändern.

Brian McCarthy
quelle

Antworten:

22

Das spctl- Tool sollte den Job erledigen.

sudo spctl --master-disableSchaltet die Gatekeeper-Überprüfungen aus und sudo spctl --master-enableaktiviert sie erneut (auf die Standardeinstellung von App Store und signierten Apps - es scheint nicht möglich zu sein, sie nur auf App Store zu setzen).

Beachten Sie, dass es keinen Fehler auslöst, wenn Sie es ohne sudoBerechtigungen ausführen, es ist jedoch sudotatsächlich erforderlich.

Robmathers
quelle
1
Die Manpage besagt, dass spctl --disable --label "Mac App Store" die Installation aller Mac App Store-Apps deaktiviert, sodass es möglich erscheint, dass nur MAS-Apps aktiviert werden können.
Megan Walker
@SamuelWalker Ich habe das vorher nicht bemerkt, aber was wirklich benötigt wird, ist eine Regel oder Bezeichnung, die allen Apps entspricht, die nicht zum App Store gehören. Ansonsten geht es nicht, da Sie nicht alle anderen Quellen deaktivieren können, unabhängig davon, was ich sagen kann.
Robmathers
Das ist richtig. Ich habe gerade in der eigentlichen SystemPolicy-Datenbank nachgesehen, und soweit ich das beurteilen kann, gibt es nur wenige Labels, die verwendet werden. "GKE", "Entwickler-ID", "Mac App Store", "Apple System", "Apple Installer", "Keine Übereinstimmungsregel". Obwohl diese Zeichenfolgen willkürlich sind [und sich in zukünftigen OSX-Versionen ändern können], ist dies möglicherweise zu schwierig, aber es scheint möglich, dass Sie GKE und Entwickler-ID manuell deaktivieren.
Megan Walker
@robmathers, danke für deine Antwort! Ich habe eine weitere Abhilfemaßnahme kennengelernt: Sie können mit der rechten Maustaste auf das Installationsprogramm klicken und auf Öffnen klicken (wodurch die App ohne Überprüfung mit Gatekeeper geöffnet wird)
Brian McCarthy,
Ja, das ist definitiv der einfachere Weg, wenn Sie nur einmal etwas ausführen müssen.
Robmathers
3

In beiden Fällen werden auch die Gatekeeper-Dialogfelder deaktiviert (nach dem Neustart), die in den Systemeinstellungen angezeigten Einstellungen werden jedoch nicht geändert.

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

Ich weiß nicht, ob spctl --master-disablees sich irgendwie von der Deaktivierung von Gatekeeper in den Systemeinstellungen unterscheidet, aber es spctl --statusändert sich assessments disablednach der Deaktivierung von Gatekeeper in den Systemeinstellungen.

Lri
quelle