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.