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*)