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 spctl
pá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 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
, debe colocar el archivo sudoers:
sam ALL = ALL, !/usr/sbin/spctl
Ahora, esta es una forma "rápida y sucia" de impedir el acceso, spctl
pero 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 sudoers
pá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 su
que 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.