Diferencia entre System y Global Daemons

De acuerdo con el Tutorial de Launchd , hay dos lugares donde puede estar un daemon.

  1. Un demonio global ubicado en/Library/LaunchDaemons
  2. Un demonio del sistema ubicado en/System/Library/LaunchDaemons

¿Cuál es la diferencia entre ellos? Ambos parecen hacer la misma tarea, ejecutar un programa al inicio en nombre de root.

EDITAR:

Por diferencia, me refiero a la diferencia en la función. Sé que el demonio del sistema proviene de Apple y global de los proveedores, pero quiero saber si hay una diferencia en la función.

Respuestas (2)

Ninguna diferencia

Una vez que se ejecuta, no hay diferencia entre las ubicaciones. El origen del trabajo lanzado determina la autorización necesaria para administrar el trabajo.

Ambos trabajos /Libraryy /Systemlaunchd pueden ejecutarse como cualquier usuario. Los trabajos por usuario están limitados al usuario y grupo de su propietario.

La edición de los /Systemtrabajos de lanzamiento está restringida por System Integrity Protection .

de man 5 launchd.plist:

  • ~/Library/LaunchAgentsAgentes por usuario proporcionados por el usuario.
  • /Library/LaunchAgentsAgentes por usuario proporcionados por el administrador.
  • /Library/LaunchDaemonsDaemons de todo el sistema proporcionados por el administrador.
  • /System/Library/LaunchAgentsAgentes por usuario proporcionados por OS X.
  • /System/Library/LaunchDaemonsDaemons de todo el sistema proporcionados por OS X.

Los demonios del sistema los proporciona el proveedor, Apple, y los demonios globales los proporciona el administrador, USTED.

Lo sé, pero ¿hay alguna diferencia en la forma en que funciona? ¿Funciona igual? ¿O hay alguna diferencia, digamos un permiso adicional o algo así?