Bloquear aplicaciones específicas en macOS

15

¿Hay alguna manera de bloquear una lista de aplicaciones específicas en macOS?

He buscado soluciones como Cisdem, pero hay algunos agujeros en la forma en que funciona que no me gustan.

  1. A menos que también bloquee las Preferencias de Monitor de actividad, Terminal y Sistema, simplemente puede salir del proceso Cisdem o crear un nuevo usuario para evitarlo.
  2. Debe bloquear las Preferencias de Monitor de actividad, Terminal y Sistema para que funcione correctamente.

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 App Store y la web. No estoy seguro de cómo hacerlo. 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?

carpa
fuente

Respuestas:

14

Use Gatekeeper para controlar el acceso a las aplicaciones

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 adecuada:

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

Además, puede prohibir la ejecución de código de la Mac App Store (que se encuentra en la spctlpágina del 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 / ejecute.

Tratar con administradores /sudoers

Como se indica en los comentarios, cualquier cosa que un administrador pueda hacer, otro administrador puede deshacerla. El uso spctlrequiere 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 sudoersarchivo.

Por ejemplo, para permitir que el usuario Sam acceda a todos los comandos , excepto spctl , debe colocar el archivo sudoers:

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

Ahora, esta es una forma "rápida y sucia" de impedir el acceso, spctlpero en última instancia, no es eficaz porque si el otro administrador conoce su estrategia, todo lo que tiene que hacer es cambiar el nombre del comando y ellos tienen acceso.

Desde la sudoerspágina del manual:

En general, si un usuario ha sudo TODO, 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 suque sea un usuario diferente (es decir, operador) o crear una lista blanca de comandos permitidos por defecto para bloquear todo lo demás. Sin embargo, eso lleva mucho tiempo y es muy peligroso, ya que puede bloquear a las personas de las funciones críticas.

Alano
fuente
¡Agradable! Eso es exactamente lo que estaba buscando. Buen trabajo. Muchas gracias!
fabricación
Respuesta realmente increíble Allan: no creo que esto pueda evitar el acceso a los archivos o dejar de enviar una señal sigkill, ¿verdad? apple.stackexchange.com/questions/332124/…
bmike
@bmike - Acabo de ver este comentario. Gracias por las amables palabras. En cuanto a sigkill, no creo que pueda evitar eso porque técnicamente, puede matar sus propios procesos.
Allan
2
Todo esto suena genial, pero simplemente no funciona para mí (en 10.14.3). Se aplican los cambios, pero aún puedo iniciar las aplicaciones que he "denegado". Gatekeeper está habilitado.
BSUK
Tampoco funciona para mí (en 10.14.1).
Estudiante