Zatrzymywanie uruchamiania agentów i demonów

23

Pracuję jako administrator w środowisku akademickim. Jednym z wyzwań jest zatrzymanie usług instalowanych przez studentów z CS dur. Jakiś czas temu uzyskali dostęp administratora i zainstalowali agenty uruchomieniowe i demony w niektórych systemach. Uczniowie dodali również niektóre listy jako com.apple.myprog.run. Problem polega na tym, że nie ma ich w katalogu launchagents ani w katalogu launchdaemons.

Moje pytanie brzmi więc, jak znaleźć ścieżkę do tych usług demonów. Kolejnym krokiem jest, jak je zatrzymać. Ponieważ niektóre z nich mogą zacząć się od nowa (na podstawie niektórych flag).

Prashant
źródło
Podobny problem. Nie można zatrzymać uruchomionego demona launchctl load -wF /Library/LaunchDaemons/name.of.this.plist.
Meltemi

Odpowiedzi:

21

Jeśli chcesz zatrzymać pozycję tego bagażnika wystarczy wydać wyładowania polecenie launchd poprzez launchctl. Aby uzyskać stałą poprawkę, dodaj wyłączony klucz do listy o wartości true lub usuń / przenieś plik do folderu, w którym uruchomienie nie skanuje go automatycznie.

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

Strona podręcznika dla launchctl ma ładną dokumentację do kontrolowania zadań. Jeśli chodzi o ogólne pokonanie głównych firm CS, możesz również wziąć pod uwagę, że dokonali edycji istniejących list jabłek, aby zrobić coś, czego się nie spodziewasz, więc znacznie łatwiej będzie po prostu ponownie zainstalować system operacyjny i migrować dane użytkownika z powrotem z kopii zapasowej (zwracając szczególną uwagę na notatkę, zainstaluj ponownie pliki plist w / System / Library, / Library space (i być może także skontroluj ~ / Library of admin users). Utracenie administratora / roota przed kimś, kto wie, jak zmienić system jest w zasadzie zakończony, a obrona (znalezienie i wyłączenie) zmian jest bardzo czasochłonna w przeciwieństwie do przestępstwa (ponowna instalacja systemu ze znanego dobrego źródła i użycie narzędzi do zarządzania konfiguracją, aby upewnić się, że wykryte zostaną zmienione pliki).

bmike
źródło
chodzi o to, że nie wiem, gdzie przechowywano plist. Szukałem w katalogu LaunchAgents i nie widzę tam aplikacji.
Prashant,
Mogą być wszędzie. Możesz uruchomić system w trybie awaryjnym i porównać dane wyjściowe z listy uruchamiania z normalną listą rozruchową. mdfind pokaże ci pliki zawierające nieuczciwe zadania (jeśli nie wykluczyły ich z centrum uwagi). Można również teoretycznie uruchomić fs_usage przeciwko samemu uruchamianiu, aby śledzić, które pliki czytają podczas rozruchu, ale znowu logistyka uruchomienia fs_usage wkrótce po uruchomieniu w połączeniu z faktem, że nadal trzeba sprawdzać każdy plik plist, oznacza, że ​​masz dużo pracy wyciętej w celu „wykrycia zmian i chirurgicznego ich usunięcia” w przeciwieństwie do rozpoczęcia czyszczenia.
bmike
1
Jeśli naprawdę chcesz znaleźć każdy .plist w systemie, zrobi to. To długa lista. find / -type f -name "*.plist"
afragen
man launchctl wyładuj W poprzednich wersjach ta opcja modyfikowała plik konfiguracyjny. Teraz stan klucza Wyłączony jest przechowywany w innym miejscu na dysku. .. (
Nakilon,
@Nakilon Czy możesz być precyzyjny w kwestii wersji? Czy masz na myśli przegląd 10.11 uruchomionej lub innej „poprzedniej wersji”?
bmike
17

Najłatwiejszym sposobem, aby to zrobić, jest

sudo launchctl list | grep "rough name of what you want to find"
sudo launchctl remove "label.of.the.file"
Oantby
źródło
Dzięki, właśnie tego chciałem. Jak usunąć usługę po usunięciu pliku!
chmac,
2

Spróbuj sprawdzić te lokalizacje:

/ Users / twoja nazwa użytkownika / Library / LaunchAgents /

/ Library / LaunchAgents /

/ Library / LaunchDaemons /

/ System / Biblioteka / LaunchAgents /

/ System / Biblioteka / LaunchDaemons /

Cory T.
źródło
1

Możesz zrobić „zrzutkę stanu Launctl”, która pokaże wszystkie załadowane usługi oraz ścieżkę do .plist i zawartości startowej.

Prawdopodobnie będziesz chciał przejrzeć go mniej więcej, ponieważ zrzuca wiele informacji.

Mark Heath
źródło