Primero, vengo de Linux, así que hay muchas cosas que me confunden, como los demonios.
Instalé VOX.app y tiene algún tipo de agentes y procesos relacionados con la nube que se pueden iniciar automáticamente. No hay ninguna opción en la interfaz de usuario de VOX que pueda desactivarlos. Intenté lo siguiente para eliminar esos demonios:
launchctl eliminar com.coppertino.VOXCloud launchctl eliminar com.coppertino.VOXAgent
Los comandos anteriores ya son extraños porque no necesitaba usar sudo
. La parte más extraña es que lo que hice es aparentemente inútil ya que cada vez que ejecuto VOX.app, puede crearlos una y otra vez. Esto es una locura.
Si este es el modelo de seguridad de macOS, ¿cómo puedo entender las cosas y quizás controlar esto?
El modelo de seguridad general es que los usuarios normales pueden agregar cualquier elemento de inicio a su dominio (biblioteca de usuario para ellos) y no para el sistema, por lo tanto, no permita que las personas tengan cuentas de administrador si no confía en que no ejecutarán el software ese instalador. elementos de inicio a nivel del sistema.
No hay una manera fácil de evitar que un usuario administrador cambie el sistema. Puede aplicar gatekeeper o aplicaciones firmadas, pero la mayoría de los usuarios administradores pueden omitir esa configuración, por lo que, en el mejor de los casos, ralentiza un poco a un usuario administrador sin educación.
En macOS, launchd puede administrar procesos en segundo plano por usuario y en toda la computadora.
Los trabajos por usuario existen dentro de su sesión de usuario. Comienzan y terminan con su inicio y cierre de sesión en la computadora. Si los trabajos tienen tickets de trabajo asociados, los encontrará con la carpeta ~/Library/LaunchAgents
y~/Library/LaunchDaemons
Los trabajos de toda la computadora comienzan y terminan con la computadora. Estos trabajos se almacenan en /Library/LaunchAgents
y /Library/LaunchDaemons
.
Los trabajos de toda la computadora administrados por Apple se almacenan en /System/Library/LaunchAgents
y /System/Library/LaunchDaemons
.
Los trabajos por usuario no necesitan permiso de superusuario. Por lo tanto, no necesitaba sudo
detener los trabajos instalados a nivel de usuario por vox.app
.
launchd
trabajoPuede descargar un trabajo de lanzamiento para bloquear su retorno:
Uso:
launchctl unload <service-path, service-path2, ...>
-w
Además, deshabilita el servicio de modo que futuras operaciones de carga darán como resultado un servicio que inicia un seguimiento pero que no puede iniciarse ni descubrirse de ninguna manera.-S <session>
Solo descarga los servicios asociados a la sesión especificada.-D <domain>
Descarga archivos launchd.plist(5) del dominio especificado. Consulte la discusión sobre este mismo indicador cuando se proporciona al subcomando de carga para obtener más detalles.
Esto -w
hace que la descarga se escriba en el disco y persista entre sesiones.
Para obtener más información sobre cómo detener, descargar y anular trabajos, consulte:
com.coppertino.VOXAgent
y com.coppertino.VOXCloud
permanentemente. Los dos demonios se pueden encontrar mediante launchctl list | grep -i vox
comando y no se muestran ~/Library/LaunchAgents/
y no tengo el directorio ~/Library/LaunchDaemons
. Puedo usar launchctl remove
para eliminarlos, pero la parte mala es vox.app
que puedo crear dos demonios automáticamente cada vez que lo ejecuto. Así que lo elimino, vox.app
los creo y repito... ¿Es posible dejar de vox.app
crear los dos demonios?-w
para descargar el trabajo. Eso detendrá el trabajo que se ejecuta en el futuro. ¿Quién publica vox.app
y has preguntado a los desarrolladores sobre este comportamiento?-w
necesita camino como argumento, pero no tengo idea de cuáles son sus caminos. No los encuentro en ninguno de los directorios: ~/Library/LaunchAgents, /Library/LaunchAgents, /Library/LaunchDaemons, /System/Library/LaunchAgents, /System/Library/LaunchDaemons,
. Traté de usar launchctl list com.coppertino.VOXAgent
que tampoco me dice el camino. Intenté usar launchctl print com.coppertino.VOXAgent
which devuelve un error Unrecognized target specifier
. Traté de buscar en Google, no encontré nada útil sobre cómo encontrar la ruta de un demonio. Lo sientoEl problema general se maneja en la respuesta de Graham Miln. Esta respuesta es solo una ligera adición ejercida sobre la aplicación de ejemplo dada:
Algunas aplicaciones son demasiado inteligentes. Vox es un buen ejemplo de esto. Estos agentes no están bien explicados, pero a menudo se quejan y, por lo tanto, un programa, aplicación o software potencialmente no deseado (PUPAS)
Esta aplicación desencadena una cadena de eventos cuando se copia a /Aplicaciones y nuevamente cuando se inicia por primera vez.
Dentro del paquete del paquete hay elementos de inicio de sesión:
/Volumes/VOX/VOX.app/Contents/Library/LoginItems
../Loop.app
../VOX Agent.app
Ambos son copiados/registrados por el propio DesktopServicesHelper del sistema como un "elemento de inicio de sesión del asistente de la aplicación". Este tipo de "ayudantes" a menudo también se encuentran en otras aplicaciones y, por lo general, simplemente se hinchan y agregan molestias. En primer lugar, es posible que se bloqueen preventivamente para que no se registren mediante pequeñas aplicaciones prácticas, como BlockBlock .
Como estos todavía están contenidos en el paquete de la aplicación , ¡debería buscar o proporcionar la ruta dentro del paquete de la aplicación!
Luego se encuentra otra molestia dentro del paquete de aplicaciones :
/Volumes/VOX/VOX.app/Contents/XPCServices
/Volumes/VOX/VOX.app/Contents/XPCServices/VOX\ Toolbox.xpc
/Volumes/VOX/VOX.app/Contents/XPCServices/com.coppertino.Vox.GNTPClientService.xpc
Una forma de deshabilitar estos procesos por usuario para que no lo molesten se describe en la respuesta de Graham, usando launchctl
.
Solo necesita buscar dentro de /Aplicaciones también.
Otro método sería ir al paquete y simplemente eliminar estos elementos. – La mayoría de las veces, esas aplicaciones comienzan bien sin ellas, solo les falta la funcionalidad respectiva. Vox fue una vez un pequeño y agradable reproductor de música 'sin lujos'. Funciona para eso sin esas molestias presentes en el disco.
A veces, las aplicaciones mejor diseñadas le ofrecen una opción para evitar esas travesuras en su diálogo de preferencias.
Favorito personal: en el caso de la aplicación del ejemplo dado, sería mejor eliminar toda la aplicación.
Para responder directamente al título de la pregunta de
¿Por qué una aplicación puede crear demonios sobre la marcha sin el permiso sudo y cómo detenerlo?
Debido a que un usuario inicia la aplicación con sus privilegios y los demonios contenidos dentro de ese paquete de aplicaciones, a veces se diseñan de manera bastante molesta para luego registrarse de manera poco transparente como "inicio automático" dentro del contexto de ese usuario y con los derechos de ese usuario. Para descargar o cancelar el registro no se requieren derechos o permisos sudo/administrativos. Si el infractor se encuentra en /Aplicaciones, la eliminación podría depender de permisos más altos.
graham miln
bmike