22 votes

Bloquer des applications spécifiques sur MacOS

Existe-t-il un moyen de bloquer une liste d'applications spécifiques sur MacOS ?

J'ai étudié des solutions telles que le Cisdem, mais leur mode de fonctionnement présente des lacunes que je n'apprécie pas.

  1. À moins que vous ne bloquiez également Activity Monitor, Terminal et Préférences Système, vous pouvez simplement quitter le processus Cisdem ou créer un nouvel utilisateur pour le contourner.
  2. Vous devez bloquer le moniteur d'activité, le terminal et les préférences système pour que cela fonctionne bien.

Je veux empêcher une application de s'exécuter ou même d'être installée sur mon Mac. L'application peut être installée via l'App Store et le Web. Je ne sais pas comment m'y prendre. L'activation du contrôle parental ne fonctionne pas car les privilèges d'administrateur sont nécessaires.

L'application spécifique que je veux bloquer est Apple Configurator.

Des idées ?

24voto

Douglas Points 10417

Utiliser Gatekeeper pour contrôler l'accès aux applications

Vous pouvez utiliser spctl (Gatekeeper) pour créer des listes d'applications approuvées et non approuvées.

Par exemple, supposons que vous vouliez autoriser Mail mais bloquer Chrome.

sudo spctl --add --label "ApprovedApps" /Applications/Mail.app 
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app

La commande ci-dessus va "étiqueter" Mail et Chrome comme "Approuvé" et "Refusé" respectivement (vous pouvez utiliser vos propres descripteurs).

Maintenant, pour activer/désactiver des applications, il faut envoyer les commandes :

sudo spctl --enable --label "ApprovedApps" 
sudo spctl --disable --label "DeniedApps" 

L'avantage est que pour ajouter une autre application à l'une ou l'autre liste, il suffit d'ajouter l'étiquette appropriée :

sudo spctl --add --label "ApprovedApps" /Applications/Another.app

En outre, vous pouvez interdire l'exécution du code provenant du Mac App Store (dans le dossier spctl page de manuel - man spctl ).

spctl --disable --label "Mac App Store"

Cela empêchera quiconque de télécharger une application depuis l'App Store et de l'installer ou de l'exécuter.

Traiter avec les admins/ sudoers

Comme indiqué dans les commentaires, tout ce qu'un administrateur peut faire, un autre administrateur peut le défaire. Utilisation de spctl nécessite Root, mais l'édition du fichier sudoers pour restreindre l'accès à une commande particulière peut empêcher d'autres utilisateurs/administrateurs d'annuler vos modifications.

Voir Comment empêcher les utilisateurs sudo d'exécuter des commandes spécifiques ? pour plus de détails sur la façon de configurer une "liste blanche avec exception" dans votre système d'information. sudoers archivo.

Par exemple, pour permettre à l'utilisateur Sam d'accéder à toutes les commandes sauf spctl que vous mettez dans le fichier sudoers :

sam ALL = ALL, !/usr/sbin/spctl

Maintenant, c'est un moyen "rapide et sale" d'empêcher l'accès à spctl mais en fin de compte, ce n'est pas efficace car si l'autre administrateur découvre votre stratégie, il lui suffit de renommer la commande pour avoir accès.

De la sudoers page de manuel :

En général, si un utilisateur dispose de sudo ALL, rien ne l'empêche de créer son propre programme qui donne à un shell Root (ou de faire sa propre copie d'un shell) sans tenir compte des éléments `!' dans la spécification de l'utilisateur. de l'utilisateur.

Pour vraiment le verrouiller, il faudrait soit forcer l'autre utilisateur à su en tant qu'utilisateur différent (c'est-à-dire opérateur) ou créer une liste blanche de commandes autorisées bloquant par défaut tout le reste. Cependant, cela prend du temps et est assez dangereux car vous pouvez bloquer l'accès à des fonctions critiques.

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