1 votes

Y a-t-il un moyen de contrôler ou de limiter les applications Mac pour qu'elles ne créent pas de fichiers et de répertoires qui ne sont pas nécessaires ou malveillants?

Est-ce que quelqu'un sait s'il est possible d'empêcher certaines applications de créer des fichiers sur votre ordinateur tout en les exécutant ? Peut-être quelque chose de similaire aux venv de Python mais pour les fichiers .App à la place. Je suis un peu maniaque avec les développeurs qui laissent derrière eux des fichiers inutilisés sur mon Mac même s'ils sont inoffensifs.

Des choses comme celles-ci sont la raison pour laquelle je veux une option pour le faire. https://www.macobserver.com/tmo/article/how-manage-the-secret-software-that-google-chrome-installs-on-your-mac

Je sais que vous pouvez voir où les fichiers seront installés si le programme utilise un .pkg ou une application d'installation, mais cela ne vous aide pas vraiment si vous voulez utiliser le programme. Une bonne réponse à cela serait de mettre en place un répertoire virtuel où ces programmes pensent qu'ils s'installent dans les fichiers système et si l'utilisateur n'est pas satisfait du programme, il peut facilement supprimer l'environnement virtuel et recommencer à neuf.

Est-ce que quelqu'un connaît quelque chose de semblable à cela ?

Merci beaucoup

2voto

Robert Wilkinson Points 570

Vous voudrez peut-être vous renseigner sur sandbox-exec intégré dans macOS. Il peut être utilisé pour exécuter n'importe quelle commande dans un "bac à sable" où elle peut se voir refuser l'accès au réseau, empêchée d'écrire des fichiers dans certains emplacements, etc.

En bas de cette réponse se trouve un profil "firefox-sandbox" qui a été présenté en exemple sur Mac OS X hints d'exécution de Firefox dans un bac à sable où sa capacité à écrire des fichiers est (pour la plupart) limitée à votre dossier Téléchargements. Je tiens à préciser que cet exemple date de quelques années, le profil de bac à sable peut nécessiter quelques ajustements pour les versions récentes de macOS et de Firefox, je ne l'ai pas essayé. L'exemple indique que Firefox peut être exécuté dans le bac à sable via :

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

Voici quelques liens que vous voudrez peut-être consulter qui couvrent sandbox-exec :

Voici le fichier "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")
  ; Notre cache de services de répertoires du module
  (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*)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X