1 votos

No se puede ejecutar el agente launchctl en Catalina. ¿Es un problema de permisos?

Tengo algunos launchctl scripts en Mojave que estoy tratando de ejecutar ahora en Catalina, pero parece que no puede conseguir que se ejecuten. Me hice un pequeño plist muy simple como el siguiente

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>local.moveit</string>

  <key>StandardOutPath</key>
      <string>/Users/pheon/Library/Logs/local-moveit-stout.log</string>
  <key>StandardErrorPath</key>
      <string>/Users/pheon/Library/Logs/local-moveit-stderr.log</string>

  <key>ProgramArguments</key>
  <array>
    <string>mv</string>
    <string>/Users/pheon/Desktop/test/fileA</string>
    <string>/Users/pheon/Desktop/test/fileB</string>
  </array>

  <key>StartCalendarInterval</key>
  <dict>
    <key>Minute</key>
    <integer>1</integer>
  </dict>
</dict>
</plist>

Luego lo cargué con

launchctl load local.moveit.plist

He reiniciado mi máquina.

Comprobé que estaba en marcha.

$ launchctl list | grep moveit
-   0   local.moveit

Se supone que simplemente debe renombrar un archivo (que sí existe), pero no hace nada, no informa de ningún error. Parece que está muerto.

Había leído que podía haber problemas de permisos, así que di mv , launchctr , sh y zsh "Acceso total al disco" en las Preferencias del Sistema. También he descargado LaunchControl.app para ver si eso ayuda. Pero sigue sin funcionar, y nada informa de que algo va mal.

Tengo las siguientes preguntas.

  1. ¿Cómo puedo hacer que esto funcione?
  2. ¿Qué pasa con esto de los permisos? ¿Es seguro dar a esas aplicaciones "Acceso total al disco"? ¿Debo apagar y volver a encender el SIP? (¿Qué hace eso de todos modos?)

ETA.

Finalmente apareció un mensaje de error en el registro.

mv: rename /Users/pheon/Desktop/test/fileA to /Users/pheon/Desktop/test/fileB: Operation not permitted

2voto

Douglas Puntos 10417

¿Cómo puedo hacer que esto funcione?

Su archivo plist se ve bien, excepto que he encontrado que es más fiable tener sus comandos reales en un ejecutable script y llamar a que en lugar de llamar a los comandos directamente desde el plist.

(Para los futuros lectores en caso de que se borren los comentarios)

El StartCalendarInterval puede ser confuso a veces...

<key>StartCalendarInterval</key>
  <dict>
    <key>Minute</key>
    <integer>1</integer>
  </dict>

Esto ejecuta el comando en el primer minuto de cada hora (es decir, 12:01, 1:01, 2:01, y así sucesivamente). No es "cada 1 minuto". Para más detalles, consulte formato plist de launchd para ejecutar un comando a una hora determinada en un día de la semana

¿Qué pasa con esto de los permisos? ¿Es seguro dar a esas aplicaciones "Acceso total al disco"? ¿Debo apagar y volver a encender el SIP? (¿Qué hace eso de todos modos?)

Catalina ha instituido un nuevo modelo de seguridad en el que las aplicaciones o procesos necesitan que se les concedan derechos sobre diferentes recursos. No tiene nada que ver con sus derechos en sí, sino con los derechos del recurso. Por ejemplo, puede que no quieras que tu Firefox tenga derechos fuera de sus carpetas de trabajo normales. En el pasado, un atacante podría explotar algún fallo y obtener acceso a otros directorios y soltar código malicioso. Ahora, si la aplicación no tiene derechos para acceder al volumen, no podrá acceder a él independientemente de su derechos

El SIP es simplemente un conjunto de carpetas protegidas. Lo que lo hace especial es que no se puede desactivar mientras el sistema de archivos está montado, por lo que es necesario reiniciar en modo Recovery/Single User para desactivarlo. El software malicioso no puede sobrescribir los archivos del sistema aunque el usuario sea Root.

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