2 votos

Eliminar Little Snitch a través de script

Quiero poder desinstalar Little Snitch a través de Apple Remote Desktop. Me encontré con el script a continuación aquí: http://fromtheadmin.com/kill-and-remove-little-snitch-application-via-ard-script/

Sin embargo, cuando ejecuto el script localmente en una máquina de prueba con Little Snitch ejecutándose, el Terminal devuelve "No se encontraron procesos coincidentes que le pertenecieran". Puedo ver los procesos Little Snitch UIAgent y Little Snitch Network Monitor en el Monitor de Actividad ejecutándose bajo la misma cuenta desde la que se ejecuta el script.

¿Alguna idea?

#!/bin/sh
NetworkMonitor="Little Snitch Network Monitor"
UIAgent="Little Snitch UIAgent"
File="/Library/LaunchAgents/at.obdev.LittleSnitchNetworkMonitor.plist"

#remove Little Snitch files and User Preferences

if [ -f $File ] ; then

#Kill Little Snitch Processes
killall $NetworkMonitor
killall $UIAgent

rm -R /Library/Application\ Support/Objective\ Development/
rm -R /Library/LaunchAgents/at.obdev.LittleSnitchNetworkMonitor.plist
rm -R /Library/LaunchAgents/at.obdev.LittleSnitchUIAgent.plist
rm -R /Library/LaunchDaemons/at.obdev.littlesnitchd.plist
rm -R /Library/Little\ Snitch/*
rm -R /Library/Logs/LittleSnitchDaemon.log
rm -R /System/Library/Extensions/LittleSnitch.kext
rm -R "/Applications/Little Snitch Configuration.app"

usr/sbin/jamf displayMessage -message "Computer is shutting down"

sleep 10

reboot -q

exit 0

else

exit 0

fi

Gracias.

0 votos

¿Después de la ejecución y el reinicio se ha ido Little Snitch? De hecho, ¿cómo se ve en el monitor de actividad después de la ejecución?

0 votos

No llega al reinicio, sólo directamente a: No se han encontrado procesos coincidentes que le pertenezcan.

1 votos

Creo que tengo que preguntar: ¿en qué situación querrías eliminar LS a través de un escritorio remoto? ¿Qué motivación hay para interferir en la seguridad de una máquina de eliminación?

3voto

Bill Cole Puntos 402

Hay múltiples problemas con ese script:

  1. Variables de cadena desnuda con espacios en blanco incrustados : ponga "" alrededor de los argumentos de killall.
  2. Overkill Si vas a eliminar el software y reiniciar, no hay necesidad de no hay necesidad de golpear los procesos. Hay un riesgo con LS que podría disparar su propia sesión (y script) si al quitar los procesos de LS se estropea la red. Si crees que necesitas matar procesos que actúan como gatekeepers para el tráfico de la red, debe asegurarse de que su script no está sujeto al manejo normal de cuelgues (ver las páginas man para nohup y batch para saber cómo hacerlo)
  3. Underkill Si se compromete a matar los componentes activos de LS antes de reiniciar para estar seguro (es decir, como si se tratara de una autoprotección) es necesario necesita también sacar el proceso Little Snitch Daemon y descargar la extensión del kernel. También hay registros, cachés, prefs, y archivos de soporte en los árboles de bibliotecas específicos del usuario.
  4. No se ejecuta como Root : matando a Little Snitch Daemon, descargando el kext, eliminando la mayoría (si no todos) de los componentes del sistema, eliminar los archivos de soporte específicos de los usuarios para múltiples usuarios, y reiniciar todo requiere Root.
  5. Ejecutar reboot -q : No lo hagas. Es más seguro en los MacOS modernos de lo que ha sido históricamente, pero todavía puede dar problemas. Mejor usar shutdown -r +1 "Rebooting for software change" que da un minuto de gracia, envía ese mensaje a cualquier shell interactivo, y utiliza los mecanismos apropiados de launchd para apagar todo. Si quieres ser menos educado, usa "ahora" y/o ningún mensaje.

0voto

romkyns Puntos 290

ALERTA : Esta respuesta ha sido probada y aparentemente no funciona. Sin embargo, dejo la respuesta aquí para ayudar a otros a diagnosticar el problema.

Cuando se ejecuta el script, $NetworkMonitor se convierte en Little Snitch Network Monitor en lugar del requerido "Little Snitch Network Monitor" (para tratar los espacios).

Yo cambiaría las tres primeras líneas de tu código por:

#!/bin/sh 
NetworkMonitor="\"Little Snitch Network Monitor\""
UIAgent="\"Little Snitch UIAgent\""

Creo que eso podría solucionar tu problema. Si no, hágamelo saber.

0 votos

Acabo de intentarlo, pero obtengo el mismo resultado. La salida del Terminal es la siguiente: TestMac:~ TestUser$ sh /Users/TestUser/Desktop/LS\ Script\ Test/LS.sh No matching processes belonging to you were found No matching processes belonging to you were found override rw-r--r-- root/wheel for /Library/Application Support/Objective Development//Little Snitch/.lsd?

0 votos

¿Qué tal si intentamos omitir el uso de las variables ( $UIAgent y $NetworkMonitor ) y colocando los nombres de los procesos directamente con el killall comandos (entre comillas, todavía).

0 votos

Acabo de intentar ejecutar el script como Root sobre ARD y parece que ha funcionado (sin ninguna modificación). Lo probaré más a fondo, pero es posible que sólo tenga que ser ejecutado como Root. Volveré a publicar más tarde.

0voto

smack0007 Puntos 5215

Tendrás que entrar como usuario administrativo y ejecutar el script como usuario Root escribiendo "sudo" delante de tus comandos:

sudo /path/to/your/script.sh

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