Bloquer des applications spécifiques sur macOS

15

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

J'ai recherché des solutions telles que Cisdem, mais il y a des trous dans la façon dont cela fonctionne que je n'aime pas.

  1. À moins que vous ne bloquiez également le moniteur d'activité, le terminal et les 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 le faire fonctionner correctement.

Je souhaite 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 procéder. L'activation du contrôle parental ne fonctionnera pas car les privilèges d'administrateur sont nécessaires.

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

Des idées?

fabrication de tentes
la source

Réponses:

14

Utilisez 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 souhaitiez 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 "étiquetera" Mail et Chrome respectivement "Approuvé" et "Refusé" (vous pouvez utiliser vos propres descripteurs).

Maintenant, pour activer / désactiver les applications, vous émettez les commandes:

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

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

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

De plus, vous pouvez interdire l'exécution du code du Mac App Store (disponible dans la spctlpage de manuel - man spctl).

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

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

Traiter avec les administrateurs /sudoers

Comme indiqué dans les commentaires, tout ce qu'un administrateur peut faire, un autre administrateur peut l'annuler. L'utilisation de spctlroot nécessite, mais la modification 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 sudoersfichier.

Par exemple, pour autoriser l'utilisateur Sam à accéder à toutes les commandes sauf spctl , vous devez mettre le fichier sudoers:

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

Maintenant, c'est un moyen "rapide et sale" d'empêcher l'accès spctlmais finalement, ce n'est pas efficace parce que si l'autre administrateur est sage à votre stratégie, tout ce qu'il / elle a à faire est de renommer la commande et ils ont accès.

Depuis la sudoerspage de manuel:

En général, si un utilisateur a sudo ALL, rien ne l'empêche de créer son propre programme qui lui donne un shell racine (ou de faire sa propre copie d'un shell) quel que soit le "!" dans la spécification utilisateur.

Pour vraiment le verrouiller, vous devez soit forcer l'autre utilisateur à utiliser suun autre utilisateur (c'est-à-dire un opérateur), soit créer une liste blanche de commandes autorisées par défaut pour bloquer tout le reste. Cependant, cela prend du temps et est assez dangereux car vous pouvez bloquer des personnes sur des fonctions critiques.

Allan
la source
Agréable! C'est exactement ce que je cherchais. Bon travail. Merci beaucoup!
fabrication de tentes le
Réponse vraiment géniale Allan - Je ne pense pas que cela puisse empêcher l'accès aux fichiers ou arrêter d'envoyer un signal sigkill - n'est-ce pas? apple.stackexchange.com/questions/332124/…
bmike
@bmike - Je viens de voir ce commentaire. merci pour les bons mots. Quant à sigkill, je ne pense pas que vous puissiez empêcher cela car techniquement, vous pouvez tuer vos propres processus.
Allan
2
Tout cela sonne bien, mais cela ne fonctionne tout simplement pas pour moi (le 10.14.3). Les modifications s'appliquent, mais je peux toujours lancer les applications que j'ai "refusées". Gatekeeper est activé.
BSUK
Ne fonctionne pas non plus pour moi (le 10.14.1).
Étudiant