Jak udzielić aplikacji Mac uprawnienia na odczyt całego systemu plików

13

Kupiłem tę aplikację o nazwie Xee w sklepie z aplikacjami na Maca. Może otwierać pliki doskonale, ale kiedy próbuję przeglądać folder z aplikacji Xee, musi on poprosić o pozwolenie. (Zobacz zrzut ekranu poniżej.) Muszę to zrobić dla każdego folderu przy pierwszym przeglądaniu.

Zakładam, że jest to ograniczenie narzucone przez App Store. Czy jest jakiś sposób na obejście tego i przyznanie aplikacji (zainstalowanej na moim komputerze) uprawnienia do przeglądania dowolnego katalogu, a nawet robienia czegokolwiek, co chce?

Zrzut ekranu

Brian Gordon
źródło
1
To się nazywa - Bezpieczeństwo. I najprawdopodobniej nie chcesz, aby aplikacja miała pełny dostęp do DOWOLNEGO folderu w systemie.
Rob
Czy dzieje się tak tylko w przypadku plików / folderów znajdujących się poza folderem użytkownika, czy też w przypadku rzeczy w środku?
nohillside
@patrix Zdarza się to w moim folderze użytkownika.
Brian Gordon

Odpowiedzi:

3

Jest to trochę trudne, ale można usunąć piaskownicę, zmieniając <key>com.apple.security.app-sandbox</key>wartość (która jest ustawiona na < true/>) za pomocą edytora szesnastkowego.

W macOS Sierra 10.12 ustaw na < false/>
W macOS El Capitain 10.11 lub wcześniej ustaw na < fals/>

W przypadku Xee musisz edytować następujące pliki binarne:

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

Źródło: /programming/7018354/remove-sandboxing

Bob Fanger
źródło
Dziękuję Ci! To działa. Nie zapomnij o chmod a+xplikach, jeśli używałeś edytora szesnastkowego do tworzenia nowych plików.
Brian Gordon
Również hexed.it jest fantastyczny.
Brian Gordon
1
To naprawdę nie jest rozwiązanie na przyszłość. App Sandboxing jest coraz bardziej potrzebne w miarę upływu czasu, więc praca z nim jest lepsza niż praca na niej
Ben Leggiero
Zastanów się, czy nie przekazać Apple informacji zwrotnej na temat tego ograniczenia i sposobu ograniczenia przepływu pracy. Opinie klientów pomogą ukształtować to, co aplikacje Mac App Store mogą, a czego nie mogą robić w przyszłości. Na razie aplikacje kupione za pośrednictwem Apple Mac App Store są ograniczone.
Bob Fanger,
19

Aplikacja jest w trybie piaskownicy. Oznacza to, że aplikacja została podpisana kodem z zestawem uprawnień. Uprawnienia te są egzekwowane przez system Mac OS X. Dokumentacja programisty Apple dotycząca piaskownicy zawiera więcej szczegółów.

Możesz wyświetlić uprawnienia piaskownicy Xee za pomocą następującego polecenia Terminal.app:

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

Artykuł Ole Begemann, Sprawdzanie podpisywania kodu i statusu piaskownicy w kodzie , wyjaśnia więcej.

Zrezygnuj lub usuń uprawnienia

Aby usunąć uprawnienia, musisz ponownie kodować aplikację bez uprawnień - za pomocą codesign- lub całkowicie usunąć podpisywanie kodu z aplikacji.

Zapytaj programistów Xee

Modyfikowanie aplikacji dla komputerów Mac nie jest zalecane. Poproś programistów Xee o pomoc w obejściu tego zachowania; tylko oni mają odpowiednią wiedzę, aby rozwiązać ten problem.

Wydaje się, że programiści Xee zdają sobie sprawę z problemu:

(Pamiętaj, że wersja App Store jest w trybie piaskownicy, podczas gdy wersja próbna i pełna w wersji innej niż App Store nie są w trybie piaskownicy. Jeśli wolisz bezpieczeństwo w piaskownicy OS X, powinieneś pobrać wersję App Store. Jednak wersja w piaskownicy musi poprosić Cię o zgodę na niektóre operacje, a jeśli uznasz to za denerwujące, powinieneś otrzymać wersję inną niż App Store).

Powiedz Apple

Zastanów się, czy nie przekazać Apple informacji zwrotnej na temat tego ograniczenia i sposobu ograniczenia przepływu pracy. Opinie klientów pomogą ukształtować to, co aplikacje Mac App Store mogą, a czego nie mogą robić w przyszłości. Na razie aplikacje kupione za pośrednictwem Apple Mac App Store są ograniczone.

Graham Miln
źródło
2
Gwiezdna odpowiedź na temat piaskownicy - dobrze zrobione, obejmujące skomplikowany temat w czytelny sposób.
bmike
-4

Spróbuj skopiować zawartość aplikacji na dysk twardy i stamtąd otwórz. Może aplikacja chroni swoje pliki przed sobą.

naoxink
źródło