Sửa nhanh gọn (TL;DR)
Nếu bạn tin tưởng ứng dụng và chỉ cần mở nó nhanh chóng, cách nhanh nhất để bỏ qua Gatekeeper cho một lần khởi chạy duy nhất là sử dụng menu ngữ cảnh:
- Tìm ứng dụng trong thư mục Ứng dụng (Applications) của bạn hoặc trong Finder.
- Control-click (hoặc nhấp chuột phải) vào biểu tượng ứng dụng.
- Chọn Mở từ menu ngữ cảnh.
- Một hộp thoại sẽ xuất hiện hỏi bạn có chắc chắn muốn mở nó không. Nhấp vào Mở.
Phương pháp này thường thêm một ngoại lệ cho ứng dụng, cho phép bạn mở nó bình thường từ đó trở đi.
Tìm hiểu về việc Gatekeeper chặn ứng dụng
Bạn đã gặp lỗi:
"App" can't be opened because Apple cannot check it for malicious software.
Thông báo này có nghĩa là tính năng bảo mật của macOS, Gatekeeper, đang ngăn ứng dụng khởi chạy. Vai trò của Gatekeeper là giúp bảo vệ máy Mac của bạn khỏi phần mềm độc hại và các ứng dụng có khả năng gây hại bằng cách xác minh phần mềm trước khi nó chạy.
Khi bạn tải xuống một ứng dụng từ internet mà không phải từ Mac App Store hoặc không được ký bởi một nhà phát triển Apple đã được xác định, Gatekeeper sẽ gắn cờ nó là đến từ một "nhà phát triển không xác định". Đây là một biện pháp bảo mật. macOS không biết liệu ứng dụng có an toàn hay không vì nó chưa được Apple chứng thực (notarized). Đối với các ứng dụng hợp pháp từ các nhà phát triển nhỏ hơn hoặc các dự án mã nguồn mở, đây là một trở ngại phổ biến.
Các phương pháp khắc phục
Dưới đây là một số cách để khắc phục việc Gatekeeper chặn ứng dụng, từ các cách bỏ qua tạm thời đến các giải pháp lâu dài hơn, tùy thuộc vào nhu cầu và phiên bản macOS của bạn.
Phương pháp 1: Mở bằng Control-Click (Bỏ qua một lần)
Đây là phương pháp giống như cách sửa nhanh TL;DR và thường là giải pháp đơn giản nhất cho một ứng dụng duy nhất mà bạn tin tưởng. Nó tạo ra một ngoại lệ cho ứng dụng cụ thể đó.
- Tìm ứng dụng trong Finder (thường là trong thư mục
Applicationscủa bạn). - Control-click (hoặc nhấp chuột phải) vào biểu tượng ứng dụng.
- Từ menu xuất hiện, chọn Mở.
- Bạn sẽ thấy một hộp thoại cảnh báo. Nhấp vào Mở một lần nữa để xác nhận.
Ứng dụng bây giờ sẽ khởi chạy và bạn sẽ không thường thấy cảnh báo này nữa cho ứng dụng cụ thể đó.
Phương pháp 2: Điều chỉnh Cài đặt Bảo mật & Quyền riêng tư (macOS cũ hơn hoặc sau khi bị chặn)
Các tùy chọn có sẵn trong Cài đặt hệ thống (System Settings)/Tùy chọn hệ thống (System Preferences) đã thay đổi qua các phiên bản macOS khác nhau. Dưới đây là những gì bạn cần tìm:
Đối với macOS Ventura (13) trở lên:
Các tùy chọn "Cho phép ứng dụng tải về từ" (Allow apps downloaded from) bị hạn chế hơn. Bạn sẽ không tìm thấy tùy chọn "Mọi nơi" (Anywhere).
- Nếu bạn đã thử mở ứng dụng và nó bị chặn, hãy đi tới Cài đặt hệ thống (System Settings) > Quyền riêng tư & Bảo mật (Privacy & Security).
- Cuộn xuống phần Bảo mật (Security).
- Bạn sẽ thấy một thông báo như "'Tên ứng dụng' đã bị chặn mở vì nó không phải từ nhà phát triển đã được xác định." Bên cạnh đó, sẽ có một nút Mở Dù sao (Open Anyway).
- Nhấp vào Mở Dù sao (Open Anyway). Bạn sẽ được nhắc xác nhận.
Đối với macOS Monterey (12), Big Sur (11), Catalina (10.15):
- Đi tới Tùy chọn hệ thống (System Preferences) > Bảo mật & Quyền riêng tư (Security & Privacy).
- Nhấp vào tab Chung (General).
- Nhấp vào biểu tượng khóa ở góc dưới bên trái và nhập mật khẩu quản trị viên (administrator password) của bạn để thực hiện thay đổi.
- Nếu bạn đã thử mở ứng dụng và nó bị chặn, bạn sẽ thấy một thông báo như "'Tên ứng dụng' đã bị chặn mở vì nó không phải từ nhà phát triển đã được xác định." Bên cạnh đó, nhấp vào Mở Dù sao (Open Anyway).
Đối với macOS Mojave (10.14) trở về trước (nơi tùy chọn "Mọi nơi" có thể tồn tại):
Trong các phiên bản macOS cũ hơn, có một tùy chọn để cho phép ứng dụng từ "Mọi nơi" (Anywhere). Tùy chọn này đã bị xóa trong macOS Catalina vì lý do bảo mật.
- Đi tới Tùy chọn hệ thống (System Preferences) > Bảo mật & Quyền riêng tư (Security & Privacy).
- Nhấp vào tab Chung (General).
- Nhấp vào biểu tượng khóa và nhập mật khẩu quản trị viên của bạn.
- Chọn nút radio (radio button) bên cạnh Mọi nơi (Anywhere) trong mục "Cho phép ứng dụng tải về từ:" (Allow apps downloaded from:).
Cảnh báo: Việc bật "Mọi nơi" (Anywhere) làm giảm đáng kể bảo mật của máy Mac của bạn bằng cách cho phép bất kỳ ứng dụng nào chạy, bất kể nguồn gốc hay chữ ký nhà phát triển của nó. Hãy sử dụng tùy chọn này hết sức thận trọng và cân nhắc hoàn nguyên cài đặt sau khi cài đặt phần mềm đáng tin cậy.
Phương pháp 3: Sử dụng Terminal để xóa thuộc tính Quarantine (Khuyến nghị cho các ứng dụng cụ thể)
Các ứng dụng được tải xuống từ internet (đặc biệt là qua trình duyệt) được đánh dấu bằng một thuộc tính mở rộng (extended attribute) "quarantine" (com.apple.quarantine). Việc xóa thuộc tính này báo cho Gatekeeper biết rằng ứng dụng đó có nguồn gốc từ một nguồn đáng tin cậy, cho phép nó chạy.
Phương pháp này an toàn hơn so với việc tắt hoàn toàn Gatekeeper vì nó chỉ ảnh hưởng đến ứng dụng cụ thể mà bạn nhắm mục tiêu.
- Mở Terminal (được tìm thấy trong
/Applications/Utilities/). - Sử dụng lệnh
xattrđể xóa thuộc tính quarantine. Thay thế/path/to/App.appbằng đường dẫn thực tế đến ứng dụng của bạn. Bạn có thể kéo và thả ứng dụng từ Finder trực tiếp vào cửa sổ Terminal để lấy đường dẫn đầy đủ của nó.
sudo xattr -cr /path/to/App.app
Ví dụ, nếu ứng dụng của bạn có tên "MyCoolApp.app" trong thư mục Applications của bạn:
sudo xattr -cr /Applications/MyCoolApp.app
Bạn sẽ được nhắc nhập mật khẩu quản trị viên của mình.
Cờ -c xóa tất cả các thuộc tính mở rộng (extended attributes), và -r áp dụng nó một cách đệ quy (recursively) cho tất cả nội dung bên trong gói ứng dụng (app bundle). Đây là một cách rất hiệu quả để bỏ qua Gatekeeper cho một ứng dụng cụ thể.
Phương pháp 4: Sử dụng Terminal để Tắt/Bật Gatekeeper tạm thời (Nâng cao/Biện pháp cuối cùng)
Phương pháp này tắt hoàn toàn Gatekeeper cho tất cả các ứng dụng. Nói chung, không nên dùng cho việc sử dụng hàng ngày do các vấn đề bảo mật, nhưng nó có thể hữu ích để khắc phục sự cố hoặc cho những người dùng nâng cao hiểu rõ hoàn toàn các rủi ro.
Kiểm tra trạng thái Gatekeeper:
spctl --status
Bạn sẽ thấy assessments enabled (Gatekeeper đang bật) hoặc assessments disabled (Gatekeeper đang tắt).
Tắt Gatekeeper:
sudo spctl --master-disable
Nhập mật khẩu quản trị viên của bạn khi được nhắc. Sau khi chạy lệnh này, tùy chọn "Mọi nơi" (Anywhere) có thể xuất hiện lại trong Cài đặt hệ thống (System Settings)/Tùy chọn hệ thống (System Preferences) > Bảo mật & Quyền riêng tư (Security & Privacy) > Chung (General) trên một số phiên bản macOS, hoặc nó sẽ đơn giản cho phép các ứng dụng không có chữ ký chạy.
Cảnh báo nghiêm trọng: Việc tắt Gatekeeper khiến máy Mac của bạn dễ bị tấn công bởi phần mềm không có chữ ký và có khả năng độc hại. Chỉ sử dụng điều này nếu bạn hoàn toàn hiểu rõ các rủi ro và có ý định bật lại ngay sau khi cài đặt phần mềm đáng tin cậy.
Bật Gatekeeper (Rất khuyến nghị sau khi tắt):
sudo spctl --master-enable
Luôn bật lại Gatekeeper ngay sau khi bạn đã khởi chạy thành công ứng dụng mong muốn để khôi phục bảo mật cho máy Mac của bạn.
Các bước xác minh
Sau khi áp dụng bất kỳ cách khắc phục nào:
- Thử mở ứng dụng bình thường bằng cách nhấp đúp vào biểu tượng của nó trong Finder.
- Nếu cách khắc phục hiệu quả, ứng dụng sẽ khởi chạy mà không hiển thị cảnh báo Gatekeeper.
- Nếu ứng dụng vẫn không mở, hãy kiểm tra lại xem bạn đã áp dụng đúng đường dẫn trong các lệnh Terminal chưa, hoặc thử một phương pháp khác.
Đọc thêm
- Mở ứng dụng Mac từ nhà phát triển không xác định - Hỗ trợ của Apple
- Việc hiểu các tính năng bảo mật của macOS như Gatekeeper và chứng thực (notarization) có thể giúp bạn đưa ra quyết định sáng suốt về việc cài đặt phần mềm.

