Bloquear aplicativos específicos no macOS

15

Existe uma maneira de bloquear uma lista de aplicativos específicos no macOS?

Procurei soluções como o Cisdem, mas existem algumas falhas na maneira como funciona que eu não gosto.

  1. A menos que você também bloqueie o Monitor de Atividade, o Terminal e as Preferências do Sistema, você pode simplesmente sair do processo do Cisdem ou criar um novo usuário para contorná-lo.
  2. Você precisa bloquear o Monitor de atividades, o Terminal e as Preferências do sistema para que funcione bem.

Quero bloquear a execução ou a instalação de um aplicativo no meu Mac. O aplicativo pode ser instalado através da App Store e da web. Não tenho certeza de como fazer isso. A ativação do Controle dos Pais não funcionará, pois são necessários privilégios de administrador.

O aplicativo específico que desejo bloquear é o Apple Configurator.

Alguma ideia?

fabricação de tendas
fonte

Respostas:

14

Use o Gatekeeper para controlar o acesso aos aplicativos

Você pode usar spctl(Gatekeeper) para criar listas de aplicativos aprovados e não aprovados.

Por exemplo, suponha que você queira permitir o Mail, mas bloqueie o Chrome.

sudo spctl --add --label "ApprovedApps" /Applications/Mail.app 
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app

O comando acima "rotulará" o Mail e o Chrome como "Aprovado" e "Negado", respectivamente (você pode usar seus próprios descritores).

Agora, para ativar / desativar aplicativos, você emite os comandos:

sudo spctl --enable --label "ApprovedApps" 
sudo spctl --disable --label "DeniedApps" 

A vantagem disso é que, para adicionar outro aplicativo a qualquer uma das listas, basta adicionar o rótulo apropriado:

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

Além disso, você pode proibir a execução de código da Mac App Store (encontrado na spctlpágina do manual - man spctl).

spctl --disable --label "Mac App Store"

Isso impedirá que alguém baixe um aplicativo da App Store e o instale / execute.

Lidando com administradores /sudoers

Conforme declarado nos comentários, qualquer coisa que um administrador possa fazer, outro administrador poderá desfazer. O uso spctlrequer raiz, mas editar o arquivo sudoers para restringir o acesso a um comando específico pode impedir que outros usuários / administradores desfizam suas alterações.

Consulte Como impedir que usuários do sudo executem comandos específicos? para obter detalhes sobre como configurar uma "lista de permissões com exceção" em seu sudoersarquivo.

Por exemplo, para permitir ao usuário Sam acessar todos os comandos , exceto spctl , você deve colocar o arquivo sudoers:

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

Agora, essa é uma maneira "rápida e suja" de impedir o acesso, spctlmas, no final das contas, não é eficaz, porque se o outro administrador entender sua estratégia, tudo o que ele precisa fazer é renomear o comando e eles terão acesso.

Na sudoerspágina do manual:

Em geral, se um usuário tiver sudo ALL, não há nada que os impeça de criar seu próprio programa que lhes dê um shell raiz (ou faça sua própria cópia de um shell) independentemente de qualquer `! ' elementos na especificação do usuário.

Para realmente travá-lo, você precisaria forçar o outro usuário sucomo um usuário diferente (ou seja, operador) ou criar uma lista de permissões de comandos permitidos, com o objetivo de bloquear todo o resto. No entanto, isso consome tempo e é bastante perigoso, pois você pode bloquear as pessoas de funções críticas.

Allan
fonte
Agradável! Era exatamente isso que eu estava procurando. Bom trabalho. Muito obrigado!
tentmaking
Resposta realmente incrível Allan - eu não acho que isso seria possível para impedir o acesso a arquivos ou parar de enviar um sinal de sigkill - seria? apple.stackexchange.com/questions/332124/…
bmike
@bmike - Acabei de ver este comentário. thx pelas palavras gentis. Quanto ao sigkill, não acho que você possa impedir isso porque, tecnicamente, você pode matar seus próprios processos.
Allan
2
Tudo isso parece ótimo, mas simplesmente não está funcionando para mim (na versão 10.14.3). As alterações se aplicam, mas ainda posso iniciar os aplicativos que "neguei". O gatekeeper está ativado.
BSUK 06/03/19
Também não funciona para mim (em 10.14.1).
Student