Detener el lanzamiento Agentes y demonios

23

Trabajo como administrador en un ambiente universitario. Uno de los desafíos es detener los servicios instalados por estudiantes con especialización en CS. Hace un tiempo obtuvieron el acceso de administrador e instalaron agentes de lanzamiento y demonios en algunos sistemas. Los estudiantes también agregaron algunas listas como com.apple.myprog.run. El problema es que estos no están presentes en el directorio launchchagents o en el directorio launchdaemons.

Entonces mi pregunta es cómo encontrar el camino para estos servicios de daemon. Luego, el siguiente paso es cómo detenerlos. Dado que algunos de estos podrían comenzar una y otra vez (en función de ciertas banderas).

Prasante
fuente
Problema similar No se puede detener un demonio con el que se inició launchctl load -wF /Library/LaunchDaemons/name.of.this.plist.
Meltemi

Respuestas:

21

Si desea detener el elemento para este arranque, simplemente emita un comando de descarga para iniciarlo a través de launchctl. Para una solución permanente, agregue una clave deshabilitada en la lista con valor verdadero o elimine / mueva el archivo a una carpeta donde launchd no lo escaneará automáticamente.

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

La página de manual de launchctl tiene buena documentación para controlar trabajos. En cuanto a la derrota general de las especialidades de CS, también puede considerar que editaron las listas de Apple existentes para que hagan algo que no espera, por lo que resultará mucho más fácil reinstalar el sistema operativo y migrar los datos del usuario de nuevo desde una copia de seguridad (pagando nota particular a nota, reinstale cualquier archivo plist en / System / Library, / Library space (y quizás también audite la ~ / Library de los usuarios admin). Perder admin / root contra alguien que sepa cómo cambiar Básicamente, el sistema terminó el juego y la defensa (encontrar e inhabilitar) los cambios lleva mucho tiempo en lugar de ofensiva (reinstalar el sistema desde una buena fuente conocida y usar herramientas de administración de configuración para garantizar que se detecten los archivos modificados).

bmike
fuente
El punto es que no sé dónde se ha almacenado el plist. He buscado en el directorio LaunchAgents y no veo las aplicaciones allí.
Prashant
Pueden estar en cualquier parte. Puede iniciar en modo seguro y comparar la salida de una lista de launchctl con la lista de inicio normal. mdfind le mostrará los archivos que contienen los trabajos no autorizados (si no los excluyeron de la atención). Teóricamente, también podría ejecutar fs_usage contra launchd para rastrear qué archivos leyó durante el arranque, pero nuevamente, la logística de ejecutar fs_usage tan pronto en el arranque combinado con el hecho de que todavía necesita inspeccionar todos y cada uno de los archivos plist significa que tiene mucho de trabajo cortado para "detectar los cambios y eliminarlos quirúrgicamente" en lugar de comenzar a limpiar.
bmike
1
Si realmente desea encontrar cada .plist en el sistema, esto lo hará. Es una larga lista. find / -type f -name "*.plist"
afragen
man launchctl descargar En versiones anteriores, esta opción modificaría el archivo de configuración. Ahora el estado de la clave Disabled se almacena en otro lugar en el disco. .. (
Nakilon
@Nakilon ¿Podría ser preciso sobre las versiones? ¿Te refieres a la revisión 10.11 de launchd u otra "versión anterior"?
bmike
17

La forma más fácil que he encontrado para hacer esto es

sudo launchctl list | grep "rough name of what you want to find"
sudo launchctl remove "label.of.the.file"
Oantby
fuente
Gracias, esto es exactamente lo que quería. ¡Cómo eliminar el servicio después de eliminar el archivo!
chmac
2

Intente verificar estas ubicaciones:

/ Usuarios / su nombre de usuario / Biblioteca / LaunchAgents /

/ Library / LaunchAgents /

/ Library / LaunchDaemons /

/ Sistema / Biblioteca / LaunchAgents /

/ Sistema / Biblioteca / LaunchDaemons /

Cory T
fuente
1

Puede hacer un "launchctl dumpstate" y mostrará todos los servicios cargados y la ruta al inicio .plist y los contenidos.

Probablemente querrá ejecutarlo en algo como menos, ya que arroja mucha información.

Mark Heath
fuente