¿Hay alguna forma de controlar o limitar que las aplicaciones de mac creen archivos y directorios que no son necesarios o que son maliciosos?

1

¿Alguien sabe si es posible evitar que ciertas aplicaciones creen archivos en su computadora pero aún así puedan ejecutarlas? Tal vez algo similar a Pythons Venv pero para archivos .App en su lugar. Estoy un poco satisfecho con los desarrolladores que dejan archivos no utilizados en mi Mac, incluso si son inofensivos.

Cosas como esta es la razón por la que quiero una opción para hacer esto. enlace

Sé que puede ver dónde se instalarán los archivos si el programa utiliza una aplicación .pkg o instalador, pero esto no ayuda en realidad si desea usar el programa. Una buena respuesta para esto sería configurar un directorio virtual donde estos programas creen que se están instalando en los archivos del sistema y si el usuario no está contento con el programa, puede atacar fácilmente el entorno virtual y comenzar de nuevo.

¿Alguien sabe algo como esto?

Muchas gracias

    
pregunta Bobby 01.10.2016 - 10:53

1 respuesta

2

Es posible que desee buscar en el macOS incorporado sandbox-exec . Se puede usar para ejecutar cualquier comando en un "recinto de seguridad" en el que se le puede negar el acceso a la red, evitar la escritura de archivos en ciertas ubicaciones, etc.

En la parte inferior de esta respuesta hay un perfil de sandbox "firefox-sandbox" que se presentó como un ejemplo de en Mac OS X sugiere que ejecutar Firefox en un recinto de seguridad donde su capacidad para escribir archivos está (en su mayoría) limitada a su carpeta de Descargas. Debo tener en cuenta que la sugerencia tiene algunos años de antigüedad, el perfil de la caja de arena puede requerir algunos problemas con las versiones recientes de macOS y Firefox, no lo probé. La sugerencia dice que Firefox se puede ejecutar en el sandbox a través de:

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

Algunos otros enlaces que quieras ver en la portada sandbox-exec :

Aquí está el archivo "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*)
    
respondido por el Rinzwind 01.10.2016 - 13:27

Lea otras preguntas en las etiquetas