Chặn các ứng dụng cụ thể trên macOS


15

Có cách nào để chặn danh sách các ứng dụng cụ thể trên macOS không?

Tôi đã tìm kiếm các giải pháp như Citorem, nhưng có một số lỗ hổng trong cách thức hoạt động mà tôi không thích.

  1. Trừ khi bạn cũng chặn Trình giám sát hoạt động, Thiết bị đầu cuối và Tùy chọn hệ thống, bạn chỉ cần thoát khỏi quy trình Citorem hoặc tạo một người dùng mới để khắc phục nó.
  2. Bạn phải chặn Trình giám sát hoạt động, Thiết bị đầu cuối và Tùy chọn hệ thống để làm cho nó hoạt động tốt.

Tôi muốn chặn một ứng dụng chạy hoặc thậm chí được cài đặt trên máy Mac của tôi. Ứng dụng có thể được cài đặt thông qua App Store và web. Không chắc chắn làm thế nào để đi về điều này. Kích hoạt Kiểm soát của cha mẹ sẽ không hoạt động vì cần có đặc quyền của Quản trị viên.

Ứng dụng cụ thể tôi muốn chặn là Bộ cấu hình Apple.

Có ý kiến ​​gì không?

Câu trả lời:


14

Sử dụng Gatekeeper để kiểm soát quyền truy cập vào Ứng dụng

Bạn có thể sử dụng spctl(Gatekeeper) để tạo danh sách các ứng dụng được phê duyệt và không được chấp thuận.

Ví dụ: giả sử bạn muốn cho phép Mail nhưng chặn Chrome.

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

Lệnh trên sẽ "gắn nhãn" Mail và Chrome tương ứng là "Đã phê duyệt" và "Bị từ chối" (bạn có thể sử dụng các mô tả của riêng mình).

Bây giờ, để bật / tắt ứng dụng, bạn đưa ra các lệnh:

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

Ưu điểm này là để thêm một ứng dụng khác vào danh sách, bạn chỉ cần thêm nhãn thích hợp:

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

Ngoài ra, bạn có thể cấm mã từ Mac App Store chạy (được tìm thấy trong spctltrang man - man spctl).

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

Điều này sẽ ngăn mọi người tải xuống Ứng dụng từ Cửa hàng ứng dụng và cài đặt / chạy nó.

Xử lý quản trị viên /sudoers

Như đã nêu trong các bình luận, bất cứ điều gì Quản trị viên có thể làm, một Quản trị viên khác có thể hoàn tác. Việc sử dụng spctlyêu cầu root, nhưng chỉnh sửa tệp sudoers để hạn chế quyền truy cập vào một lệnh cụ thể có thể ngăn người dùng / quản trị viên khác hoàn tác các thay đổi của bạn.

Xem Làm thế nào để ngăn người dùng sudo chạy các lệnh cụ thể? để biết chi tiết về cách định cấu hình "danh sách trắng ngoại lệ" trong sudoerstệp của bạn .

Ví dụ: để cho phép người dùng Sam truy cập vào tất cả các lệnh ngoại trừ spctl , bạn sẽ đặt vào tệp sudoers:

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

Bây giờ, đây là cách "nhanh và bẩn" để ngăn chặn quyền truy cập spctlnhưng cuối cùng, nó không hiệu quả vì nếu quản trị viên khác hiểu được chiến lược của bạn, tất cả những gì anh ta / cô ta phải làm là đổi tên lệnh và họ có quyền truy cập.

Từ sudoerstrang người đàn ông:

Nói chung, nếu người dùng có sudo TẤT CẢ, không có gì ngăn cản họ tạo chương trình của riêng họ, cung cấp cho họ một vỏ gốc (hoặc tạo bản sao vỏ của chính họ) bất kể `! ' các yếu tố trong đặc tả người dùng.

Để thực sự khóa nó, bạn cần phải buộc người dùng khác sulà một người dùng khác (tức là nhà điều hành) hoặc tạo một danh sách trắng các lệnh được phép mặc định để chặn mọi thứ khác. Tuy nhiên, điều đó rất tốn thời gian và khá nguy hiểm vì bạn có thể khóa mọi người khỏi các chức năng quan trọng.


Đẹp! Đó chính xác là những gì tôi đang tìm kiếm. Làm tốt lắm. Cảm ơn bạn rất nhiều!
dựng lều

Câu trả lời thực sự tuyệt vời Allan - Tôi không nghĩ rằng điều này sẽ có thể chấp nhận được để ngăn chặn truy cập tệp hoặc ngừng gửi tín hiệu sigkill - phải không? apple.stackexchange.com/questions/332124/...
bmike

@bmike - Chỉ cần xem bình luận này. thx cho những từ loại. Đối với sigkill, tôi không nghĩ bạn có thể ngăn chặn điều đó bởi vì về mặt kỹ thuật, bạn có thể giết chết các quy trình của riêng mình.
Allan

2
Tất cả điều này nghe có vẻ tuyệt vời, nhưng đơn giản là nó không hoạt động đối với tôi (vào ngày 10.14.3). Các thay đổi được áp dụng, nhưng tôi vẫn có thể khởi chạy các ứng dụng mà tôi đã "từ chối". Gatekeeper được kích hoạt.
BSUK

Nó cũng không hoạt động đối với tôi (trên 10.14.1).
Sinh viên
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.