Come concedere a un'app per Mac l'autorizzazione a leggere l'intero filesystem


13

Ho comprato questa app chiamata Xee dal Mac App Store. Può aprire i file perfettamente bene, ma quando provo a sfogliare una cartella dall'app Xee, deve richiedere l'autorizzazione. (Vedi lo screenshot qui sotto.) Devo farlo per ogni cartella la prima volta che lo sfoglio.

Presumo che questa sia una limitazione imposta dall'App Store. C'è un modo per aggirare questo e concedere un'app (installata sulla mia macchina) l'autorizzazione per visualizzare qualsiasi directory, o anche per fare tutto ciò che vuole?

Immagine dello schermo


1
Questo si chiama - Sicurezza. E molto probabilmente non vuoi che un'app abbia pieno accesso a QUALSIASI cartella sul tuo sistema.
Rob,

Questo si verifica solo per file / cartelle fuori dalla cartella dell'utente o anche per cose all'interno?
Nohillside

@patrix Succede nella mia cartella utente.
Brian Gordon,

Risposte:


3

È un po 'complicato, ma è possibile rimuovere il sandbox modificando il <key>com.apple.security.app-sandbox</key>valore (che è impostato su < true/>) con un editor esadecimale.

In macOS Sierra 10.12 impostalo su < false/>
In macOS El Capitain 10.11 o precedente impostalo su < fals/>

Per Xee devi modificare i seguenti binari:

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

Fonte: /programming/7018354/remove-sandboxing


Grazie! Funziona. Non dimenticare chmod a+xi file se hai usato l'editor esadecimale per creare nuovi file.
Brian Gordon,

Inoltre, hexed.it è fantastico.
Brian Gordon,

1
Questa non è davvero una soluzione per il futuro. Il sandboxing delle app è sempre più necessario col passare del tempo, quindi lavorare con esso è meglio che lavorare contro di esso
Ben Leggiero

Prendi in considerazione l'idea di fornire feedback ad Apple su questa limitazione e su come limita il tuo flusso di lavoro. Il feedback dei clienti contribuirà a dare forma a ciò che le app del Mac App Store possono e non possono fare in futuro. Per ora, le app acquistate tramite l'Apple Mac App Store sono limitate.
Bob Fanger,

19

L'app è in modalità sandbox. Ciò significa che l'applicazione è stata firmata in codice con una serie di diritti. Questi diritti vengono applicati da Mac OS X. La documentazione per gli sviluppatori Apple sul sandboxing fornisce ulteriori dettagli.

Puoi visualizzare i diritti sandbox di Xee usando il seguente comando Terminal.app:

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

L'articolo di Ole Begemann, Verifica della firma del codice e dello stato di sandbox nel codice , spiega di più.

Dimetti o rimuovi i diritti

Per rimuovere i diritti, è necessario ricodificare la firma dell'applicazione senza diritti - utilizzando codesign- o eliminare completamente la firma del codice dall'applicazione.

Chiedi agli sviluppatori di Xee

La modifica di un'applicazione Mac non è consigliata. Chiedi agli sviluppatori di Xee un aiuto su come aggirare questo comportamento; solo loro hanno le conoscenze appropriate per risolvere questo problema.

Gli sviluppatori di Xee sembrano essere a conoscenza del problema:

(Nota che la versione dell'App Store è in modalità sandbox, mentre la versione di prova non dell'App Store e le versioni complete non sono in modalità sandbox. Se preferisci la sicurezza del sandbox di OS X, dovresti ottenere la versione dell'App Store. Tuttavia, la versione in sandbox deve chiederti il ​​permesso per determinate operazioni e, se lo trovi fastidioso, dovresti ottenere la versione non App Store.)

Dillo ad Apple

Considera di fornire feedback ad Apple su questa limitazione e su come limita il tuo flusso di lavoro. Il feedback dei clienti contribuirà a dare forma a ciò che le app del Mac App Store possono e non possono fare in futuro. Per ora, le app acquistate tramite l'Apple Mac App Store sono limitate.


2
Risposta stellare sul sandboxing - ben fatto che copre un argomento complicato in modo leggibile.
bmike

-4

Prova a copiare il contenuto dell'app sul tuo disco rigido e aprilo da lì. Forse l'app sta proteggendo i propri file da se stessa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.