Dừng LaunchAgents và Daemons


23

Tôi làm quản trị viên trong môi trường đại học. Một trong những thách thức là ngăn chặn các dịch vụ được cài đặt bởi các sinh viên có chuyên ngành CS. Thỉnh thoảng họ có quyền truy cập quản trị viên và cài đặt các tác nhân khởi chạy và trình tiện ích trên một số hệ thống. Các sinh viên cũng đã thêm một số danh sách như com.apple.myprog.run. Vấn đề là những thứ này không có trong thư mục launchagents hoặc trong thư mục launchdaemons.

Vì vậy, câu hỏi của tôi là làm thế nào để tìm đường dẫn cho các dịch vụ daemon này. Sau đó, bước tiếp theo là làm thế nào để ngăn chặn những dịch vụ này. Vì một số trong số này có thể bắt đầu lại nhiều lần (dựa trên các cờ nhất định).


Vấn đề tương tự. Không thể dừng một daemon đã được bắt đầu với launchctl load -wF /Library/LaunchDaemons/name.of.this.plist.
Meltemi

Câu trả lời:


20

Nếu bạn muốn dừng mục cho khởi động này, chỉ cần đưa ra lệnh unload để launchd qua launchctl. Để sửa lỗi vĩnh viễn, thêm khóa bị vô hiệu hóa vào bảng có giá trị đúng hoặc xóa / di chuyển tệp vào thư mục nơi launchd sẽ không tự động quét.

  • launchctl unload /System/Library/LaunchAgents/com.apple.AppStoreUpdateAgent.plist

Trang hướng dẫn cho launchctl có tài liệu hay để kiểm soát công việc. Đối với việc đánh bại chung các chuyên ngành CS, bạn cũng có thể xem xét rằng họ đã chỉnh sửa các ứng dụng táo hiện có để khiến họ làm điều gì đó mà bạn không mong đợi, vì vậy việc chứng minh lại việc cài đặt lại hệ điều hành và di chuyển dữ liệu người dùng trở lại dễ dàng hơn nhiều từ một bản sao lưu (trả tiền lưu ý cụ thể để lưu ý cài đặt lại bất kỳ tệp plist nào trong / Hệ thống / Thư viện, / Không gian thư viện (và có lẽ cũng kiểm tra ~ / Thư viện người dùng quản trị viên). Mất quản trị / root đối với người biết cách thay đổi hệ thống về cơ bản là trò chơi và phòng thủ (tìm và vô hiệu hóa) các thay đổi rất tốn thời gian thay vì vi phạm (cài đặt lại hệ thống từ một nguồn tốt đã biết và sử dụng các công cụ quản lý cấu hình để đảm bảo phát hiện các tệp thay đổi).


vấn đề là tôi không biết nơi lưu trữ nguyên bản. Tôi đã tìm kiếm trong thư mục LaunchAgents và tôi không thấy các ứng dụng tồn tại ở đó.
Prashant

Họ có thể ở bất cứ đâu. Bạn có thể khởi động vào chế độ an toàn và so sánh đầu ra danh sách launchctl với danh sách khởi động bình thường. mdfind sẽ hiển thị cho bạn các tệp chứa các công việc giả mạo (nếu họ không loại trừ chúng khỏi ánh đèn sân khấu). Về mặt lý thuyết, bạn cũng có thể chạy fs_usage dựa trên launchd để theo dõi những tập tin nó đọc được trong khi khởi động, nhưng một lần nữa hậu cần của việc chạy fs_usage ngay khi khởi động kết hợp với thực tế là bạn vẫn cần kiểm tra từng tập tin plist có nghĩa là bạn có rất nhiều công việc cắt ra để "phát hiện các thay đổi và phẫu thuật loại bỏ chúng" thay vì bắt đầu làm sạch.
bmike

1
Nếu bạn thực sự muốn tìm mọi .plist trên hệ thống, điều này sẽ làm điều đó. Đó là một danh sách dài. find / -type f -name "*.plist"
nổi giận

man launchctl dỡ tải Trong các phiên bản trước, tùy chọn này sẽ sửa đổi tệp cấu hình. Bây giờ trạng thái của Khóa bị vô hiệu hóa được lưu trữ ở nơi khác trên đĩa. .. (
Nakilon

@Nakilon Bạn có thể chính xác về các phiên bản? Bạn đang đề cập đến đại tu 10.11 của launchd hay "phiên bản trước" khác?
bmike

17

Cách dễ nhất tôi tìm thấy để làm điều này là

sudo launchctl list | grep "rough name of what you want to find"
sudo launchctl remove "label.of.the.file"

Cảm ơn, đây chính xác là những gì tôi muốn. Làm thế nào để xóa dịch vụ sau khi xóa tập tin!
chmac

2

Hãy thử kiểm tra các vị trí này:

/ Người dùng / tên người dùng của bạn / Thư viện / LaunchAgents /

/ Thư viện / LaunchAgents /

/ Thư viện / LaunchDaemons /

/ Hệ thống / Thư viện / LaunchAgents /

/ Hệ thống / Thư viện / LaunchDaemons /


1

Bạn có thể thực hiện "launchctl dumpstate" và nó sẽ hiển thị tất cả các dịch vụ được tải và đường dẫn đến phần khởi động .plist và nội dung.

Bạn có thể sẽ muốn chạy nó thông qua một cái gì đó như ít hơn vì nó có rất nhiều thông tin.

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.