So erteilen Sie einer Mac-App die Berechtigung zum Lesen des gesamten Dateisystems

13

Ich habe diese App namens Xee im Mac App Store gekauft. Es kann Dateien einwandfrei öffnen, aber wenn ich versuche, einen Ordner in der Xee-App zu durchsuchen, muss es um Erlaubnis bitten. (Siehe Abbildung unten.) Ich muss dies für jeden Ordner tun, wenn ich ihn zum ersten Mal durchsuche.

Ich gehe davon aus, dass dies eine vom App Store auferlegte Einschränkung ist. Gibt es eine Möglichkeit, dies zu umgehen und einer (auf meinem Computer installierten) App die Berechtigung zu erteilen, ein beliebiges Verzeichnis anzuzeigen oder überhaupt etwas zu tun, was sie möchte?

Bildschirmfoto

Brian Gordon
quelle
1
Dies nennt man - Sicherheit. Und Sie möchten höchstwahrscheinlich nicht, dass eine App uneingeschränkten Zugriff auf JEDEN Ordner auf Ihrem System hat.
Rob
Tritt dies nur bei Dateien / Ordnern außerhalb Ihres Benutzerordners oder auch bei Inhalten auf?
Nohillside
@patrix Es passiert in meinem Benutzerordner.
Brian Gordon

Antworten:

3

Es ist ein bisschen schwierig, aber Sie können die Sandbox entfernen, indem Sie den <key>com.apple.security.app-sandbox</key>Wert (der auf < true/> festgelegt ist) mit einem Hex-Editor ändern .

In macOS Sierra 10.12 setzen Sie es auf < false/>
In macOS El Capitain 10.11 oder früher setzen Sie es auf < fals/>

Für Xee müssen Sie die folgenden Binärdateien bearbeiten:

  • /Applications/Xee³.app/Contents/MacOS/Xee³
  • /Applications/Xee³.app/Contents/Loader/Xee3.ImageLoader

Quelle: /programming/7018354/remove-sandboxing

Bob Fanger
quelle
Vielen Dank! Es klappt. Vergessen Sie nicht chmod a+xdie Dateien, wenn Sie Ihren Hex-Editor zum Erstellen neuer Dateien verwendet haben.
Brian Gordon
Auch hexed.it ist fantastisch.
Brian Gordon
1
Dies ist keine Lösung für die Zukunft. App Sandboxing wird mit der Zeit immer notwendiger, daher ist es besser, damit zu arbeiten, als dagegen zu arbeiten
Ben Leggiero,
Überlegen Sie, ob Sie Apple Feedback zu dieser Einschränkung geben und wie sie Ihren Workflow einschränkt. Kundenfeedback wird mitbestimmen, was Mac App Store-Apps in Zukunft können und was nicht. Derzeit sind die über den Apple Mac App Store gekauften Apps begrenzt.
Bob Fanger
19

Die App hat eine Sandbox. Dies bedeutet, dass die Anwendung mit einer Reihe von Berechtigungen codiert wurde. Diese Berechtigungen werden von Mac OS X durchgesetzt . Ausführlichere Informationen finden Sie in der Entwicklerdokumentation zu Sandboxing von Apple .

Sie können die Sandbox-Berechtigungen von Xee mit dem folgenden Terminal.app-Befehl anzeigen:

codesign --display --entitlements - /Applications/Xee.app

Ole Begemanns Artikel, Überprüfen der Codesignatur und des Sandbox-Status im Code , erklärt mehr.

Kündigen oder entfernen Sie Berechtigungen

Um die Berechtigungen zu entfernen, müssen Sie die Anwendung ohne Berechtigungen neu codieren, indem Sie verwenden, codesignoder die Codesignatur vollständig aus der Anwendung entfernen .

Fragen Sie die Entwickler von Xee

Das Ändern einer Mac-Anwendung wird nicht empfohlen. Bitten Sie die Entwickler von Xee um Hilfe, um dieses Verhalten zu umgehen. Nur sie verfügen über das entsprechende Wissen, um dieses Problem zu lösen.

Die Entwickler von Xee scheinen sich des Problems bewusst zu sein:

(Beachten Sie, dass die App Store-Version eine Sandbox ist, während die Nicht-App Store-Testversion und die Vollversion keine Sandbox sind. Wenn Sie die Sicherheit der OS X-Sandbox bevorzugen, sollten Sie die App Store-Version erwerben. Die Sandbox-Version muss jedoch Fragen Sie nach der Erlaubnis für bestimmte Vorgänge. Wenn Sie dies als störend empfinden, sollten Sie die Nicht-App Store-Version erwerben.)

Sag es Apple

Überlegen Sie, ob Sie Apple Feedback zu dieser Einschränkung geben und wie sie Ihren Workflow einschränkt. Kundenfeedback wird mitbestimmen, was Mac App Store-Apps in Zukunft können und was nicht. Derzeit sind die über den Apple Mac App Store gekauften Apps begrenzt.

Graham Miln
quelle
2
Hervorragende Antwort auf Sandboxing - gut gemacht, um ein kompliziertes Thema lesbar zu behandeln.
bmike
-4

Versuchen Sie, den Inhalt der App auf Ihre Festplatte zu kopieren und von dort aus zu öffnen. Vielleicht schützt die App ihre Dateien vor sich selbst.

naoxink
quelle