Interruzione di LaunchAgents e Daemon


23

Lavoro come amministratore in un ambiente universitario. Una delle sfide è quella di interrompere i servizi installati dagli studenti con CS major. Qualche tempo fa hanno ottenuto l'accesso come amministratore e installato agenti di lancio e demoni su alcuni sistemi. Gli studenti hanno anche aggiunto alcuni piani come com.apple.myprog.run. Il problema è che questi non sono presenti nella directory launchagents o nella directory launchdaemons.

Quindi la mia domanda è come trovare il percorso per questi servizi daemon. Il prossimo passo è come fermarli. Dal momento che alcuni di questi potrebbero ricominciare da capo (in base a determinate bandiere).


Problema simile. Non riesco a fermare un demone che è stato avviato con launchctl load -wF /Library/LaunchDaemons/name.of.this.plist.
Meltemi,

Risposte:


21

Se si desidera interrompere l'elemento per questo avvio, è sufficiente emettere un comando di scarico da avviare tramite launchctl. Per una correzione permanente aggiungere una chiave disabilitata nel plist con valore true oppure eliminare / spostare il file in una cartella in cui launchd non eseguirà la scansione automaticamente.

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

La pagina man di launchctl contiene una buona documentazione per il controllo dei lavori. Per quanto riguarda la sconfitta generale delle major CS, potresti anche considerare che hanno modificato le pianificazioni di mele esistenti per farle fare qualcosa che non ti aspetti, quindi sarà molto più semplice reinstallare semplicemente il sistema operativo e migrare indietro i dati utente da un backup (prestando particolare attenzione a notare di reinstallare eventuali file plist nello spazio / Sistema / Libreria, / Libreria (e forse anche controllare la ~ / Libreria degli utenti admin). Perdere admin / root contro qualcuno che sa come cambiare il sistema è sostanzialmente game over e la difesa (ricerca e disabilitazione) delle modifiche richiede molto tempo anziché offesa (reinstallare il sistema da una buona fonte conosciuta e utilizzare gli strumenti di gestione della configurazione per garantire che vengano rilevati i file modificati).


il punto è che non so dove sia stato memorizzato il plist. Ho cercato nella directory LaunchAgents e non vedo le app plist lì.
Prashant,

Possono essere ovunque. È possibile avviare in modalità provvisoria e confrontare un output dell'elenco di avvio con l'elenco di avvio normale. mdfind ti mostrerà i file contenenti i lavori non autorizzati (se non li hanno esclusi da Spotlight). Potresti anche eseguire teoricamente fs_usage contro launchd stesso per tenere traccia dei file letti durante l'avvio, ma ancora una volta la logistica di far funzionare fs_usage che presto all'avvio unita al fatto che devi ancora ispezionare ogni singolo file di plist significa che hai molto di lavoro tagliato per "rilevare le modifiche e rimuoverle chirurgicamente" invece di iniziare a pulire.
bmike

1
Se vuoi davvero trovare ogni .plist sul sistema, questo lo farà. È una lunga lista. find / -type f -name "*.plist"
Afragen,

man launchctl scarica Nelle versioni precedenti, questa opzione avrebbe modificato il file di configurazione. Ora lo stato della chiave disabilitata è memorizzato altrove sul disco. .. (
Nakilon,

@Nakilon Potresti essere preciso sulle versioni? Ti riferisci alla revisione 10.11 di launchd o un'altra "versione precedente"?
bmike

17

Il modo più semplice che ho trovato per farlo è

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

Grazie, questo è esattamente quello che volevo. Come eliminare il servizio dopo aver eliminato il file!
chmac,

2

Prova a controllare queste posizioni:

/ Utenti / nome utente / Libreria / LaunchAgents /

/ Library / LaunchAgents /

/ Library / LaunchDaemons /

/ System / Library / LaunchAgents /

/ System / Library / LaunchDaemons /


1

Puoi fare un "launchctl dumpstate" e mostrerà tutti i servizi caricati e il percorso della .plist di avvio e dei contenuti.

Probabilmente vorrai eseguirlo in qualcosa di meno dato che scarica molte informazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.