Blocca app specifiche su macOS

9

C'è un modo per bloccare un elenco di app specifiche su macOS?

Ho cercato soluzioni come Cisdem, ma ci sono alcuni buchi nel modo in cui funziona che non mi piacciono.

  1. A meno che tu non blocchi anche Monitoraggio attività, Terminale e Preferenze di sistema, puoi semplicemente uscire dal processo Cisdem o creare un nuovo utente per aggirarlo.
  2. Devi bloccare Activity Monitor, Terminale e Preferenze di Sistema per farlo funzionare bene.

Voglio bloccare l'esecuzione o l'installazione di un'app sul mio Mac. L'app può essere installata tramite l'App Store e il Web. Non sono sicuro di come andare su questo. L'abilitazione del controllo genitori non funzionerà in quanto sono necessari i privilegi di amministratore.

L'app specifica che voglio bloccare è Apple Configurator.

Qualche idea?

    
posta tentmaking 24.01.2018 - 22:59
fonte

1 risposta

6

Usa Gatekeeper per controllare l'accesso alle Applicazioni

Puoi utilizzare spctl (Gatekeeper) per creare elenchi di app approvate e non approvate.

Ad esempio, supponi di voler consentire Mail ma bloccare Chrome.

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

Il comando precedente "etichetterà" Mail e Chrome come "Approvato" e "Negato" rispettivamente (puoi usare i tuoi descrittori).

Ora, per abilitare / disabilitare app, emetti i comandi:

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

Il vantaggio è che per aggiungere un'altra app ad entrambi gli elenchi, devi solo aggiungere l'etichetta appropriata:

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

Inoltre, puoi vietare l'esecuzione del codice dal Mac App Store (trovato nella pagina man di spctl - man spctl ).

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

Ciò impedirà a chiunque di scaricare un'app dall'App store e installarla / eseguirla.

Gestione degli amministratori / sudoers

Come affermato nei commenti, tutto ciò che un amministratore può fare, un altro amministratore può annullare. L'utilizzo di spctl richiede root, ma la modifica del file sudoers per restringere l'accesso a un particolare comando può impedire ad altri utenti / amministratori di annullare le modifiche.

Vedi Come impedire agli utenti sudo di eseguire comandi specifici? per i dettagli su come configurare una "lista bianca con eccezione" nel tuo file sudoers .

Ad esempio, per consentire all'utente Sam di accedere a tutti i comandi tranne spctl , inserirai il file sudoers:

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

Ora, questo è un modo "veloce e sporco" di impedire l'accesso a spctl ma alla fine, non è efficace perché se l'altro amministratore si accorge della tua strategia, tutto ciò che lui / lei deve fare è rinominare il comando e loro avere accesso.

Dalla pagina man di sudoers :

In general, if a user has sudo ALL there is nothing to prevent them from creating their own program that gives them a root shell (or making their own copy of a shell) regardless of any '!' elements in the user specification.

Per bloccarlo davvero, è necessario forzare l'altro utente a su come utente diverso (cioè operatore) o creare una whitelist di comandi consentiti che hanno il blocco predefinito di tutto il resto. Tuttavia, questo richiede molto tempo e molto pericoloso in quanto è possibile bloccare le persone fuori dalle funzioni critiche.

    
risposta data 25.01.2018 - 03:12
fonte

Leggi altre domande sui tag