38 votos

Detención de LaunchAgents y Daemons

Trabajo como administrador en un entorno universitario. Uno de los retos es detener los servicios instalados por los estudiantes de CS. Hace un tiempo consiguieron el acceso de administrador e instalaron launchagents y daemons en algunos sistemas. Los estudiantes también han añadido algunos plists como com.apple.myprog.run. El problema es que estos no están presentes en el directorio launchagents o en el directorio launchdaemons.

Mi pregunta es como encontrar la ruta de estos servicios daemon y luego como detenerlos. Ya que algunos de estos podrían iniciar una y otra vez (basado en ciertas banderas).

37voto

Oskar Puntos 1242

Si quieres detener el elemento para este arranque simplemente emite un descargar para lanzar el d a través de launchctl . Para una solución permanente, añada una clave de desactivación en el plist con el valor true o elimine o mueva el archivo a una carpeta donde launchd no lo analice automáticamente.

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

La página de manual de launchctl tiene una buena documentación para controlar los trabajos. En cuanto a la derrota general de los mayores de CS, también podría considerar que editaron los plists existentes de apple para hacerlos hacer algo que no se espera, por lo que resultará mucho más fácil simplemente reinstalar el SO y migrar los datos de usuario de nuevo desde una copia de seguridad (prestando especial atención a la reinstalación de cualquier archivo plist en el espacio /System/Library, /Library (y quizás también auditar la ~/Library de los usuarios administradores). Perder a un administrador/root contra alguien que sabe cómo cambiar el sistema es básicamente el fin del juego y la defensa (encontrar y deshabilitar) los cambios consume mucho tiempo en comparación con la ofensiva (reinstalar el sistema desde una fuente conocida y usar herramientas de gestión de la configuración para asegurar que se detecten los archivos cambiados).

0 votos

La cuestión es que no sé dónde se ha almacenado el plist. He buscado en el directorio LaunchAgents y no veo el plist de aplicaciones allí.

0 votos

Pueden estar en cualquier sitio. Usted podría arrancar en modo seguro y comparar la salida de una lista launchctl con la lista de arranque normal. mdfind le mostrará los archivos que contienen los trabajos deshonestos (si no los excluyeron de spotlight). Teóricamente también podría ejecutar fs_usage contra el propio launchd para rastrear qué archivos lee durante el arranque, pero de nuevo la logística de conseguir que fs_usage se ejecute 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 un montón de trabajo para "detectar los cambios y eliminarlos quirúrgicamente" en lugar de empezar de cero.

2 votos

Si realmente quieres encontrar cada .plist en el sistema esto lo hará. Es una lista larga. find / -type f -name "*.plist"

31voto

b0x0rz Puntos 1174

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"

0 votos

Gracias, esto es exactamente lo que quería. ¡Cómo eliminar el servicio después de eliminar el archivo!

6voto

Cory T Puntos 26

Intente comprobar estas ubicaciones:

/Usuarios/su nombre de usuario/Librería/LaunchAgents/

/Librería/LaunchAgents/

/Librería/LaunchDaemons/

/Sistema/Librería/LaunchAgents/

/Sistema/Librería/LaunchDaemons/

4voto

Mark Heath Puntos 13

Puedes hacer un "launchctl dumpstate" y te mostrará todos los servicios cargados y la ruta al .plist de inicio y su contenido.

Es probable que desee ejecutar a través de algo como menos, ya que vuelca una gran cantidad de información.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X