¿Hay alguna forma de bloquear una lista de aplicaciones específicas en macOS?
He buscado soluciones como Cisdem, pero hay algunos agujeros en su funcionamiento que no me gustan.
Quiero bloquear una aplicación para que no se ejecute o incluso se instale en mi Mac. La aplicación se puede instalar a través de la App Store y la web. No estoy seguro de cómo hacer esto. Habilitar los controles parentales no funcionará ya que se necesitan privilegios de administrador.
La aplicación específica que quiero bloquear es Apple Configurator.
¿Algunas ideas?
Puede usar spctl
(Gatekeeper) para crear listas de aplicaciones aprobadas y no aprobadas.
Por ejemplo, suponga que desea permitir Mail pero bloquear Chrome.
sudo spctl --add --label "ApprovedApps" /Applications/Mail.app
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app
El comando anterior "etiquetará" Mail y Chrome como "Aprobado" y "Denegado" respectivamente (puede usar sus propios descriptores).
Ahora, para habilitar/deshabilitar aplicaciones, emite los comandos:
sudo spctl --enable --label "ApprovedApps"
sudo spctl --disable --label "DeniedApps"
La ventaja que esto tiene es que para agregar otra aplicación a cualquiera de las listas, solo tiene que agregar la etiqueta correspondiente:
sudo spctl --add --label "ApprovedApps" /Applications/Another.app
Además, puede prohibir la ejecución del código de Mac App Store (que se encuentra en la spctl
página de manual - man spctl
).
spctl --disable --label "Mac App Store"
Esto evitará que alguien descargue una aplicación de la tienda de aplicaciones y la instale o ejecute.
sudoers
Como se indica en los comentarios, todo lo que puede hacer un administrador, otro administrador puede deshacerlo. El uso spctl
requiere root, pero editar el archivo sudoers para restringir el acceso a un comando en particular puede evitar que otros usuarios/administradores deshagan sus cambios.
Consulte ¿Cómo evitar que los usuarios de Sudo ejecuten comandos específicos? para obtener detalles sobre cómo configurar una "lista blanca con excepción" en su sudoers
archivo.
Por ejemplo, para permitir que el usuario Sam acceda a todos los comandos excepto spctl
, colocaría el archivo sudoers:
sam ALL = ALL, !/usr/sbin/spctl
Ahora, esta es una forma "rápida y sucia" de evitar el acceso spctl
, pero en última instancia, no es efectiva porque si el otro administrador conoce su estrategia, todo lo que tiene que hacer es cambiar el nombre del comando y tendrá acceso.
De la sudoers
página del manual:
En general, si un usuario tiene sudo ALL, no hay nada que le impida crear su propio programa que le dé un shell raíz (o hacer su propia copia de un shell) independientemente de cualquier '!' elementos en la especificación del usuario.
Para bloquearlo realmente, necesitaría forzar al otro usuario a su
que sea un usuario diferente (es decir, un operador) o crear una lista blanca de comandos permitidos que bloqueen todo lo demás de forma predeterminada. Sin embargo, eso lleva mucho tiempo y es bastante peligroso, ya que puede dejar a las personas fuera de funciones críticas.
hacer tiendas de campaña
bmike
Alano
BSUK
Alumno