Sandbox su Mac OS X

1

Non posso usare il comando sandbox-exec come mi aspettavo.

Il problema è che non riesco ad applicare un profilo personalizzato con l'opzione -f: ottengo l'errore "operazione non consentita" che non è stato possibile rintracciare per qualcosa di utile quando ho cercato online una soluzione.

$ sandbox-exec -f alfred-profile.sb /Applications/Alfred.app/Contents/MacOS/Alfred

sandbox-exec: /Applications/Alfred.app/Contents/MacOS/Alfred: Operation not permitted

È tuttavia possibile eseguire profili predefiniti con l'opzione -n. L'esempio seguente viene eseguito correttamente (avvia Alfred e non consente al processo di accedere alla rete).

$ sandbox-exec -n no-network /Applications/Alfred.app/Contents/MacOS/Alfred
    
posta Dex 05.08.2016 - 14:14
fonte

1 risposta

1

Quali sono i contenuti di alfred-profile.sb ? Penso che tu abbia negato / non consentito esplicitamente un'operazione che è necessaria all'avvio dell'app. Vorrei controllarlo prima, se possibile.

Considera due profili:

  1. Un profilo permissivo, good_profile.sb :

    (version 1)
    (allow default)
    
  2. Un profilo restrittivo, bad_profile.sb :

    (version 1)
    (deny default)
    

Nota: un profilo costituito solo da (version 1) visualizzerà lo stesso comportamento, poiché deny è il comportamento predefinito della sandbox.

Ora, quando eseguo il profilo permissivo sulla mia macchina, ottengo:

sandbox-exec -f good_profile.sb /sbin/ping www.google.com
PING www.google.com (216.58.194.196): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
^C
--- www.google.com ping statistics ---
5 packets transmitted, 0 packets received, 100.0% packet loss

Ma quando eseguo il profilo con restrizioni ottengo:

sandbox-exec -f bad_profile.sb /sbin/ping www.google.com
sandbox-exec: /sbin/ping: Operation not permitted

In entrambi i casi, il profilo è stato caricato, ma nel secondo caso il processo è stato negato le autorizzazioni necessarie per l'esecuzione e quindi non è mai iniziato.

    
risposta data 05.08.2016 - 19:14
fonte

Leggi altre domande sui tag