Eliminar Little Snitch mediante un script [cerrado]

2

Quiero poder desinstalar Little Snitch sobre Apple Remote Desktop. Encontré el script a continuación: enlace

Sin embargo, cuando ejecuto el script localmente en una máquina de prueba con Little Snitch en ejecución, la Terminal devuelve "No se encontraron procesos coincidentes que le pertenezcan". Puedo ver los procesos Little Snitch UIAgent y Little Snitch Network Monitor en Activity Monitor ejecutándose con 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.

    
pregunta Paul 15.07.2012 - 23:43

3 respuestas

3

Hay varios problemas con ese script:

  1. Variables de cadena desnudas con espacios en blanco incrustados : poner "" alrededor los argumentos de killall.
  2. Overkill : si va a eliminar el software y reiniciar, hay No hay necesidad de golpear procesos. Hay un riesgo con LS que podrías dispara su propia sesión (y script) si saca los procesos de LS Falla la red. Si crees que necesitas matar procesos que actuar como guardianes del tráfico de la red, debe asegurarse de que su El script no está sujeto a la gestión normal de la conexión (consulte las páginas del manual para nohup y batch para formas de hacerlo)
  3. Underkill : si estás comprometido a matar los componentes activos de LS antes de reiniciar para estar seguro (es decir, como si fuera autoprotector). Necesito también sacar el proceso de Little Snitch Daemon y descargar La extensión del kernel. También hay registros, cachés, preferencias y admite archivos en los árboles de la biblioteca específicos del usuario.
  4. No se ejecuta como root : matar a Little Snitch Daemon, descargar el kext, eliminando la mayoría (si no todos) de los componentes de todo el sistema, eliminar archivos de soporte específicos del usuario para múltiples usuarios, y reiniciar todo requiere root.
  5. Ejecutando reboot -q : no hagas eso. Es más seguro para MacOS moderno de lo que ha sido históricamente, pero aún puede ser un problema. Mejor utilizar shutdown -r +1 "Rebooting for software change" que da un minuto de gracia, publica ese mensaje en cualquier shells interactivos, y usa los mecanismos adecuados de lanzamiento para apagar todo. Si desea ser menos educado, use "ahora" y / o ningún mensaje.
respondido por el Bill Cole 17.04.2013 - 17:04
0

ALERTA : esta respuesta se ha intentado y, aparentemente, no funciona. Sin embargo, estoy dejando la respuesta aquí para ayudar a otros a diagnosticar el problema.

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

Cambiaría las primeras tres líneas de tu código a:

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

Creo que eso podría solucionar su problema. Si no, házmelo saber.

    
respondido por el Nathan Walker 16.07.2012 - 01:16
0

Necesitará iniciar sesión como usuario administrativo y ejecutar el script como usuario root escribiendo "sudo" delante de sus comandos:

sudo /path/to/your/script.sh
    
respondido por el JamiePatt 16.08.2012 - 10:10

Lea otras preguntas en las etiquetas