Как предоставить приложению Mac разрешение на чтение всей файловой системы

13

Я купил это приложение под названием Xee в магазине приложений Mac. Он может прекрасно открывать файлы, но когда я пытаюсь просмотреть папку из приложения Xee, он должен запросить разрешение. (См. Скриншот ниже.) Я должен сделать это для каждой папки при первом просмотре.

Я предполагаю, что это ограничение, наложенное магазином приложений. Есть ли способ обойти это и предоставить приложению (установленному на моем компьютере) разрешение на просмотр любого каталога или даже на выполнение каких-либо действий?

Скриншот

Брайан Гордон
источник
1
Это называется - Безопасность. И вы, скорее всего, не хотите, чтобы приложение имело полный доступ к ЛЮБОЙ папке в вашей системе.
Роб
Это происходит только для файлов / папок вне вашей пользовательской папки или также для вещей внутри?
холме
@patrix Это происходит в моей папке пользователя.
Брайан Гордон

Ответы:

3

Это немного сложно, но, но вы можете удалить песочницу, изменив <key>com.apple.security.app-sandbox</key>значение (которое установлено на < true/>) с помощью шестнадцатеричного редактора.

В macOS Sierra 10.12 установите его в < false/>
В macOS El Capitain 10.11 или более ранней версии установите в < fals/>

Для Xee вам нужно отредактировать следующие двоичные файлы:

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

Источник: /programming/7018354/remove-sandboxing

Боб Фэнджер
источник
Спасибо! Оно работает. Не забудьте chmod a+xо файлах, если вы использовали свой шестнадцатеричный редактор для создания новых файлов.
Брайан Гордон
Кроме того, hexed.it это фантастика.
Брайан Гордон
1
Это не совсем решение в будущем. Приложение Sandboxing становится все более необходимым с течением времени, поэтому работать с ним лучше, чем работать против него
Бен Легжеро
Подумайте об обратной связи с Apple об этом ограничении и о том, как оно ограничивает ваш рабочий процесс. Отзывы клиентов помогут определить, что приложения Mac App Store могут и не могут делать в будущем. На данный момент количество приложений, купленных через Apple Mac App Store, ограничено.
Боб Фэнджер
19

Приложение находится в песочнице. Это означает, что приложение было подписано кодом с набором прав. Эти права применяются в Mac OS X. Документация разработчика Apple по песочнице содержит более подробную информацию.

Вы можете просмотреть права доступа к песочнице Xee, используя следующую команду Terminal.app:

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

Статья Оле Бегеманна, « Проверка подписи кода и статуса песочницы в коде» , объясняет больше.

Уйти в отставку или лишить права

Чтобы удалить права, вам нужно перекодировать подпись приложения без прав - используя codesign- или полностью удалить подпись кода из приложения.

Спросите разработчиков Xee

Модификация приложения Mac не рекомендуется. Спросите разработчиков Xee о том, как обойти это поведение; только у них есть соответствующие знания, чтобы решить эту проблему.

Разработчики Xee, похоже, знают об этой проблеме:

(Обратите внимание, что версия App Store находится в изолированной программной среде, в то время как пробная и полная версии не из App Store не находятся в изолированной программной среде. Если вы предпочитаете безопасность изолированной программной среды OS X, вы должны получить версию App Store. Однако в изолированной версии необходимо попросить у вас разрешения на определенные операции, и если вы обнаружите, что это раздражает, вы должны получить версию не из App Store.)

Скажите Apple

Подумайте об обратной связи с Apple об этом ограничении и о том, как оно ограничивает ваш рабочий процесс. Отзывы клиентов помогут определить, что приложения Mac App Store могут и не могут делать в будущем. На данный момент количество приложений, купленных через Apple Mac App Store, ограничено.

Грэм Милн
источник
2
Звездный ответ на песочнице - хорошо сделано, охватывающий сложную тему в удобочитаемой форме.
bmike
-4

Попробуйте скопировать содержимое приложения на жесткий диск и открыть его оттуда. Возможно, приложение защищает свои файлы от самого себя.

naoxink
источник