2 votos

Cómo dar permiso a demonios lanzados con launchctl

Una de las últimas actualizaciones del sistema operativo causó que un script cargado por launchctl fallara por permisos.

mi script hace esto para reflejar una ruta montada en mi disco:

rsync -av --delete

No tengo problema en ejecutarlo manualmente, pero al ejecutarlo desde el demonio estoy obteniendo:

construyendo lista de archivos ... rsync: opendir "." falló: Operación no permitida (1)

Estoy bastante seguro de que necesito otorgar permiso al script, pero no encontré una forma de otorgar el permiso desde Preferencias del Sistema -> Seguridad y Privacidad -> Privacidad -> Archivos y Carpetas. El [+/-] allí está en gris...

¿Alguna idea por favor?

EDICIÓN: más datos:

Mi plist: (com.mycompany.update-folder-from-nfs.plist)

    Label
    com.mycompany.update-folder-from-nfs
    ProgramArguments

        /Users/myname/Prog/something/uz-cpu/update_from_nfs_using_rsync.sh

    StartInterval
    45

Cargando el plist:

launchctl unload ~/Library/LaunchAgents/com.mycompany.update-folder-from-nfs.plist || echo "ok"
cp com.mycompany.update-folder-from-nfs.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.mycompany.update-folder-from-nfs.plist

0 votos

Cuando lo ejecutas, ¿lo ejecutas como tú o como root? ¿Son los caminos absolutos o relativos? LaunchAgents y Launch Daemons no necesitan permisos, se ejecutan como un usuario que especifiques o como root que ya tiene permisos. ¿Cómo están siendo ejecutados?

0 votos

Ya verifiqué eso escribiendo el registro en el archivo. El usuario soy yo.

0 votos

Podría ser mejor publicar la plist y mostrar cómo la estás cargando. Entonces podremos tener una mejor imagen

1voto

Henrik N Puntos 4447

Me encontré con este mismo problema después de actualizar a macOS Ventura. En mi caso, tenía un LaunchDaemon existente que ejecutaba un escaneo en ciertos discos externos. Después de la actualización, ese LaunchDaemon comenzó a recibir errores de "Operación no permitida".

En mi caso, resultó que el Acceso completo al disco para el daemon se deshabilitó debido a la actualización. Solo tuve que ir a Configuración del Sistema -> Privacidad y Seguridad -> Acceso completo al disco, y volver a habilitar la configuración para mi LaunchDaemon que había agregado previamente a Acceso completo al disco en la versión anterior de macOS.

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