Tengo un archivo launchctl .plist en /Library/LaunchDaemons como sigue:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>david.ports.slocate.home.updatedb</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/slocate</string>
<string>-U</string>
<string>/Users/david</string>
<string>-o</string>
<string>/Users/david/slocate_david.db</string>
</array>
<key>Umask</key>
<string>077</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>5</integer>
<key>Minute</key>
<integer>45</integer>
</dict>
</dict>
</plist>
Para aquellos que se lo estén preguntando, utilizo el puerto slocate de MacPorts en lugar de la base de datos locate nativa que viene con OS X. Esta tarea .plist actualiza la base de datos slocate específica de mi directorio personal a las 5:45 AM todos los días. La configuración Umask de 077 hace que el archivo de salida sólo pueda ser leído por mí. Sin embargo, el archivo se crea con la propiedad de Root; no es lo que quiero.
¿Hay alguna manera de especificar la propiedad del archivo de salida en lugar de la predeterminada de Root? Sé que puedo ejecutar esto como un LaunchAgent en ~/Library/LaunchAgents, pero prefiero que el trabajo se ejecute tanto si estoy conectado como si no, de ahí que lo instale como un LaunchDaemon.
Estoy ejecutando OS X 10.10.3 Yosemite.