MacOS'ta Belirli Uygulamaları Engelle


15

MacOS'ta belirli uygulamaların bir listesini engellemenin bir yolu var mı?

Cisdem gibi çözümlere baktım, ancak çalışma şeklimde sevmediğim bazı delikler var.

  1. Etkinlik Monitörü, Terminal ve Sistem Tercihleri'ni de engellemediğiniz sürece, Cisdem işleminden çıkabilirsiniz veya yeni bir kullanıcı oluşturabilirsiniz.
  2. İyi çalışması için Etkinlik Monitörü, Terminal ve Sistem Tercihlerini engellemeniz gerekir.

Bir uygulamanın Mac bilgisayarımda çalışmasını ve hatta yüklenmesini engellemek istiyorum. Uygulama App Store ve web üzerinden yüklenebilir. Bunun nasıl yapılacağından emin değilim. Yönetici ayrıcalıkları gerektiğinden Ebeveyn Denetimlerini etkinleştirmek çalışmaz.

Engellemek istediğim belirli bir uygulama Apple Configurator.

Herhangi bir fikir?

Yanıtlar:


14

Uygulamalara erişimi denetlemek için Gatekeeper'ı kullanma

spctlOnaylı ve onaylanmamış uygulamaların listesini oluşturmak için (Gatekeeper) kullanabilirsiniz .

Örneğin, Posta'ya izin vermek ancak Chrome'u engellemek istediğinizi varsayalım.

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

Yukarıdaki komut, Posta ve Chrome'u sırasıyla "Onaylandı" ve "Reddedildi" olarak "etiketleyecektir (kendi tanımlayıcılarınızı kullanabilirsiniz).

Şimdi, uygulamaları etkinleştirmek / devre dışı bırakmak için komutları verirsiniz:

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

Bunun avantajı, her iki listeye de başka bir uygulama eklemek için sadece uygun etiketi eklemenizdir:

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

Ayrıca, Mac App Store'daki kodların çalışmasını yasaklayabilirsiniz ( spctlman sayfasında bulunur man spctl).

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

Bu, herhangi birinin bir uygulamayı App Store'dan indirmesini ve yüklemesini / çalıştırmasını engeller.

Yöneticilerle başa çıkmak /sudoers

Yorumlarda belirtildiği gibi, bir Yöneticinin yapabileceği her şey, başka bir Yönetici geri alabilir. Kullanmak spctliçin root gerekir, ancak sudoers dosyasını belirli bir komuta erişimi kısıtlamak için düzenlemek diğer kullanıcıların / yöneticilerin değişikliklerinizi geri almasını engelleyebilir.

Bkz. Sudo kullanıcılarının belirli komutları çalıştırmasını nasıl önleyebilirim? sudoersdosyanızda "istisna içeren bir beyaz listenin" nasıl yapılandırılacağı ile ilgili ayrıntılar için .

Örneğin, tüm komutlara kullanıcı Sam erişmesine izin vermek için hariç spctl Eğer Sudoers dosyasında koyardı:

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

Şimdi, bu erişimi engellemek için "hızlı ve kirli" bir yol spctlama nihayetinde, bu etkili değildir çünkü diğer yönetici stratejinize akıllı davranırsa, tek yapması gereken komutu yeniden adlandırmak ve erişime sahip olmaktır.

Gönderen sudoersadam sayfası:

Genel olarak, bir kullanıcı TÜMÜNÜ sudo ALL varsa, herhangi bir ``! '' kullanıcı şartnamesindeki öğeler.

Gerçekten kilitlemek için, ya diğer kullanıcıyı sufarklı bir kullanıcı (örneğin operatör) olarak zorlamanız veya varsayılan olarak diğer her şeyi engellemeyi varsayılan olarak izin verilen komutların bir beyaz listesini oluşturmanız gerekir. Bununla birlikte, insanları kritik işlevlerden uzak tutabileceğiniz için bu zaman alıcıdır ve oldukça tehlikelidir.


Güzel! Tam da aradığım şey buydu. Aferin. Çok teşekkür ederim!
18'de çadır yapımı

Gerçekten harika bir cevap Allan - Bunun dosya erişimini önlemek veya bir sigkill sinyali göndermeyi durdurmak için uygun olacağını düşünmüyorum - değil mi? apple.stackexchange.com/questions/332124/…
bmike

@bmike - Bu yorumu gördüm. tür kelimeler için teşekkürler. Sigkill'e gelince, bunu önleyebileceğinizi sanmıyorum çünkü teknik olarak kendi süreçlerinizi öldürebilirsiniz.
Allan

2
Bu harika görünüyor, ama sadece benim için çalışmıyor (10.14.3'te). Değişiklikler geçerlidir, ancak yine de "reddettiğim" uygulamaları başlatabilirim. Ağ geçidi denetleyicisi etkin.
BSUK

Benim için de çalışmıyor (10.14.1'de).
Öğrenci
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.