Gunakan Gatekeeper untuk mengontrol akses ke Aplikasi
Anda dapat menggunakan spctl
(Gatekeeper) untuk membuat daftar aplikasi yang disetujui dan tidak disetujui.
Misalnya, Anda ingin memperbolehkan Mail tetapi memblokir Chrome.
sudo spctl --add --label "ApprovedApps" /Applications/Mail.app
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app
Perintah di atas akan masing-masing "memberi label" Mail dan Chrome sebagai "Disetujui" dan "Ditolak" (Anda dapat menggunakan deskriptor Anda sendiri).
Sekarang, untuk mengaktifkan / menonaktifkan aplikasi, Anda mengeluarkan perintah:
sudo spctl --enable --label "ApprovedApps"
sudo spctl --disable --label "DeniedApps"
Keuntungan yang dimilikinya adalah menambahkan aplikasi lain ke daftar mana pun, Anda hanya perlu menambahkan label yang sesuai:
sudo spctl --add --label "ApprovedApps" /Applications/Another.app
Selain itu, Anda dapat melarang kode dari Mac App Store agar tidak berjalan (ditemukan di spctl
halaman manual - man spctl
).
spctl --disable --label "Mac App Store"
Ini akan mencegah siapa pun mengunduh Aplikasi dari App store dan menginstal / menjalankannya.
Berurusan dengan Admin /sudoers
Seperti yang dinyatakan dalam komentar, apa pun yang Admin dapat lakukan, Admin lain dapat membatalkan. Menggunakan spctl
membutuhkan root, tetapi mengedit file sudoers untuk membatasi akses ke perintah tertentu dapat mencegah pengguna / admin lain membatalkan perubahan Anda.
Lihat Bagaimana mencegah pengguna sudo menjalankan perintah tertentu? untuk detail tentang cara mengkonfigurasi "daftar putih dengan pengecualian" di sudoers
file Anda .
Misalnya, untuk mengizinkan pengguna Sam mengakses semua perintah kecuali spctl
, Anda akan memasukkan file sudoers:
sam ALL = ALL, !/usr/sbin/spctl
Sekarang, ini cara "cepat dan kotor" untuk mencegah akses, spctl
tetapi pada akhirnya, itu tidak efektif karena jika admin lain bijak dengan strategi Anda, yang harus ia lakukan hanyalah mengganti nama perintah dan mereka memiliki akses.
Dari sudoers
halaman manual:
Secara umum, jika pengguna memiliki sudo SEMUA tidak ada yang mencegah mereka membuat program mereka sendiri yang memberi mereka shell root (atau membuat salinan shell mereka sendiri) terlepas dari `! ' elemen dalam spesifikasi pengguna.
Untuk benar-benar menguncinya, Anda harus memaksa pengguna lain untuk su
menjadi pengguna yang berbeda (yaitu operator) atau membuat daftar putih dari perintah yang diizinkan untuk memblokir semua yang lain. Namun, itu memakan waktu dan cukup berbahaya karena Anda dapat mengunci orang keluar dari fungsi-fungsi penting.