Blokuj określone aplikacje w systemie macOS

15

Czy istnieje sposób na zablokowanie listy konkretnych aplikacji w systemie macOS?

Szukałem rozwiązań takich jak Cisdem, ale są pewne dziury w sposobie działania, których nie lubię.

  1. O ile nie zablokujesz również Monitora aktywności, Terminalu i Preferencji systemowych, możesz po prostu wyjść z procesu Cisdem lub utworzyć nowego użytkownika, aby go obejść.
  2. Musisz zablokować Monitor aktywności, Terminal i Preferencje systemowe, aby działało poprawnie.

Chcę zablokować uruchamianie lub nawet instalację aplikacji na komputerze Mac. Aplikację można zainstalować za pośrednictwem App Store i Internetu. Nie jestem pewien, jak sobie z tym poradzić. Włączenie kontroli rodzicielskiej nie będzie działać, ponieważ potrzebne są uprawnienia administratora.

Konkretną aplikacją, którą chcę zablokować, jest Apple Configurator.

Jakieś pomysły?

tworzenie namiotów
źródło

Odpowiedzi:

14

Użyj Strażnika, aby kontrolować dostęp do aplikacji

Za pomocą spctl(Gatekeeper) można tworzyć listy zatwierdzonych i niezatwierdzonych aplikacji.

Załóżmy na przykład, że chcesz zezwolić Mailowi, ale zablokować Chrome.

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

Powyższe polecenie „oznaczy” pocztę i Chrome odpowiednio jako „Zatwierdzone” i „Odrzucone” (możesz użyć własnych deskryptorów).

Teraz, aby włączyć / wyłączyć aplikacje, wydajesz polecenia:

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

Zaletą tego jest to, że aby dodać kolejną aplikację do jednej z list, wystarczy dodać odpowiednią etykietę:

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

Dodatkowo możesz zabronić uruchamiania kodu z Mac App Store (znajduje się na spctlstronie podręcznika - man spctl).

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

Zapobiegnie to pobraniu aplikacji ze sklepu App Store i zainstalowaniu / uruchomieniu jej.

Radzenie sobie z administratorami /sudoers

Jak stwierdzono w komentarzach, wszystko, co administrator może zrobić, inny administrator może cofnąć. Korzystanie spctlwymaga roota, ale edycja pliku sudoers w celu ograniczenia dostępu do określonego polecenia może uniemożliwić innym użytkownikom / administratorom cofnięcie zmian.

Zobacz Jak uniemożliwić użytkownikom sudo uruchamianie określonych poleceń? szczegółowe informacje na temat konfigurowania „białej listy z wyjątkiem” w sudoerspliku.

Na przykład, aby zezwolić użytkownikowi Samowi na dostęp do wszystkich poleceń oprócz tego spctl , należy umieścić plik sudoers:

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

Teraz jest to „szybki i brudny” sposób zapobiegania dostępowi, spctlale ostatecznie nie jest skuteczny, ponieważ jeśli inny administrator zrozumie twoją strategię, wszystko, co musi zrobić, to zmienić nazwę polecenia i mają dostęp.

Ze strony podręcznika sudoers:

Ogólnie rzecz biorąc, jeśli użytkownik ma sudo ALL, nic nie stoi na przeszkodzie, aby stworzyć własny program, który daje mu powłokę główną (lub tworzenie własnej kopii powłoki) niezależnie od jakiegokolwiek `! ' elementy w specyfikacji użytkownika.

Aby naprawdę go zablokować, musisz albo zmusić drugiego użytkownika do subycia innym użytkownikiem (tj. Operatorem), albo utworzyć białą listę dozwolonych poleceń domyślnie blokujących wszystko inne. Jest to jednak czasochłonne i dość niebezpieczne, ponieważ można zablokować ludziom funkcje krytyczne.

Allan
źródło
Miły! Właśnie tego szukałem. Dobra robota. Dziękuję bardzo!
namiotów
Naprawdę niesamowita odpowiedź Allan - nie sądzę, że byłoby to pomocne, aby uniemożliwić dostęp do pliku lub przestać wysyłać sygnał sigkill - prawda? apple.stackexchange.com/questions/332124/…
bmike
@bike - Właśnie zobaczyłem ten komentarz. dzięki za miłe słowa. Jeśli chodzi o sikkill, nie sądzę, żebyś mógł temu zapobiec, ponieważ technicznie możesz zabić swoje własne procesy.
Allan
2
To wszystko brzmi świetnie, ale dla mnie to po prostu nie działa (10.14.3). Zmiany obowiązują, ale nadal mogę uruchamiać aplikacje, których „odmówiłem”. Gatekeeper jest włączony.
BSUK
Dla mnie też nie działa (10.14.1).
Student