Use Gatekeeper para controlar el acceso a las aplicaciones
Puedes usar spctl
(Gatekeeper) para crear listas de aplicaciones aprobadas y no aprobadas.
Por ejemplo, suponga que desea permitir el correo 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 (puedes usar tus propios descriptores).
Ahora, para habilitar / deshabilitar aplicaciones, ejecuta 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 apropiada:
sudo spctl --add --label "ApprovedApps" /Applications/Another.app
Además, puede prohibir que se ejecute el código de Mac App Store (que se encuentra en la página% man_de% man - spctl
).
spctl --disable --label "Mac App Store"
Esto evitará que cualquier persona descargue una aplicación de la tienda de aplicaciones y la instale / ejecute.
Tratar con administradores / man spctl
Como se indica en los comentarios, cualquier cosa que pueda hacer un administrador, otro administrador puede deshacer. El uso de sudoers
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 archivo spctl
.
Por ejemplo, para permitir que el usuario Sam acceda a todos los comandos excepto sudoers
, pondría en el archivo sudoers:
sam ALL = ALL, !/usr/sbin/spctl
Ahora, esta es una forma "rápida y sucia" de impedir el acceso a spctl
pero, en última instancia, no es eficaz porque si el otro administrador se da cuenta de su estrategia, todo lo que tiene que hacer es cambiar el nombre del comando y tener acceso.
Desde la página del manual spctl
:
En general, si un usuario tiene sudo TODO, no hay nada que le impida crear su propio programa que ofrece
ellos una shell raíz (o hacer su propia copia de una shell) independientemente de cualquier '!' elementos en el usuario
especificación.
Para realmente bloquearlo, deberías forzar al otro usuario a sudoers
como un usuario diferente (es decir, un operador) o crear una lista blanca de comandos permitidos predeterminados para bloquear todo lo demás. Sin embargo, esto requiere mucho tiempo y es bastante peligroso, ya que puede bloquear a las personas de las funciones críticas.