È il loro modo per controllare o limitare le applicazioni mac dalla creazione di file e directory che non sono necessari o sono dannosi?

1

Qualcuno sa se è possibile impedire a determinate applicazioni di creare file sul tuo computer ma di eseguirli? Forse qualcosa di simile a pythons venv ma per i file .App invece. Sono un po 'ocd con gli sviluppatori che lasciano i file inutilizzati sul mio Mac anche se sono innocui.

Roba come questa è la ragione per cui voglio un'opzione per farlo. link

So che è possibile visualizzare dove verranno installati i file se il programma utilizza un'applicazione .pkg o di installazione, ma questo non è di grande aiuto se si desidera utilizzare il programma. Una buona risposta potrebbe essere quella di creare una directory virtuale in cui questi programmi pensano di installarsi nei file di sistema e se l'utente non è soddisfatto del programma, può facilmente accedere all'ambiente virtuale e ricominciare da capo.

Qualcuno sa qualcosa di simile?

Grazie mille

    
posta Bobby 01.10.2016 - 10:53
fonte

1 risposta

2

Potresti voler esaminare il sandbox-exec . Può essere utilizzato per eseguire qualsiasi comando in una "sandbox" in cui può essere negato l'accesso alla rete, impedito di scrivere file in determinate posizioni e così via.

In fondo a questa risposta c'è un profilo sandbox "firefox-sandbox" che è stato descritto come un esempio su Mac OS X suggerisce di eseguire Firefox in una sandbox in cui la sua capacità di scrivere file è (principalmente) limitata alla cartella Download. Dovrei notare che il suggerimento è di qualche anno, il profilo sandbox potrebbe richiedere un po 'di giocherellando con le versioni recenti di macOS e Firefox, non l'ho provato. Il suggerimento dice che Firefox può essere eseguito nella sandbox tramite:

sandbox-exec -f firefox-sandbox /Applications/Firefox.app/Contents/MacOS/firefox-bin

Alcuni altri link potresti voler guardare la copertina sandbox-exec :

Ecco il file "firefox-sandbox":

(version 1) 
(deny default)

(allow file-write* file-read-data file-read-metadata
  (regex "^/Users/user_name/Downloads")
  (regex "^/Users/user_name/Library/Application Support/Mozilla")
  (regex "^/Users/user_name/Library/Application Support/Firefox")
  (regex "^/Users/user_name/Library/Preferences")
  (regex "^/Users/user_name/Library/PreferencePanes")
  (regex "^/Users/user_name/Library/Caches/Firefox")
  (regex "^/Users/user_name/Library/Caches/TemporaryItems")
  (regex "^/Applications/Firefox.app")
  (regex "^(/private)?/tmp/"))

(allow file-read-data file-read-metadata
  (regex "^/dev/autofs.*")
  (regex "^/Library/Preferences")
  (regex "^/Library/Internet Plug-Ins")
  (regex "^/Library/PreferencePanes")
  (regex "^/usr/share/icu")
  (regex "^/usr/share/locale")
  (regex "^/System/Library")
  (regex "^/Applications/Firefox.app")
  (regex "^/usr/lib")
  (regex "^/var")
  (regex #"Frameworks/SDL.framework")
; Our Module Directory Services cache
  (regex "^/private/var/tmp/mds/")
  (regex "^/private/var/tmp/mds/[0-9]+(/|$)")
  (regex "^/Users/user_name"))

(allow mach* sysctl-read)

(import "/usr/share/sandbox/bsd.sb")
(deny file-write-data
   (regex #"^(/private)?/etc/localtime$"
     #"^/usr/share/nls/"
     #"^/usr/share/zoneinfo/"))

(allow process-exec 
  (regex "^/Applications/Firefox.app"))

(allow network*)
    
risposta data 01.10.2016 - 13:27
fonte

Leggi altre domande sui tag