La mia domanda è come eseguire un processo daemon MacOSX utilizzando launchd start con i privilegi di root automaticamente dopo un riavvio?Fare Mac OSX launchctl avviare un processo come root all'avvio
Sto scrivendo un'applicazione per uso interno che blocca l'accesso ai siti Web. È scritto in python e modifica il file/ect/hosts per disabilitare o abilitare gli URL elencati. L'applicazione principale è in django e ho creato un demone twistato python che esegue la modifica effettiva del file/etc/hosts in quanto sono richiesti i privilegi di accesso root.
Ho creato un file plist che funziona con un problema minore. Dopo il riavvio, il processo daemon ha i miei normali privilegi di accesso invece dei privilegi di root.
Una soluzione è interrompere il processo con i miei privilegi normali quindi avviare il processo con sudo.
launchctl unload /Library/LaunchAgents/com.balanceinfosystems.socialshields.twisted.plist
sudo launchctl load /Library/LaunchAgents/com.balanceinfosystems.socialshields.twisted.plist
Il file plist
<?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>com.balanceinfosystems.socialshields.twisted</string>
<key>Program</key>
<string>/source/social_shields/social_shields_twisted.py</string>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Grazie Rob. Saluti Keith. –