On 1/26/2011 4:39 AM, "Quinn "The Eskimo!"" <eskimo1@apple.com> wrote:
If so, then you need to require root/admin authentication in the installation package (to be able to install stuff in /Library/LaunchDaemons/.
One thing to be careful of is the distinction between EUID and RUID. IIRC the Installer, when yo escalated privileges, only sets the EUID, leaving the RUID set to that of the user who ran the Installer. This causes problem for launchctl, because launchctl uses the RUID to decide which launchd to talk to. You can use the chroot trick from my previous post to set both the EUID and RUID to 0.
I was actually going to script this in Python but used the shell script snippet as a quick-and-dirty example. My Python if statement looks like this at the moment: import posix if posix.getuid() and posix.geteuid() == 0: # launchctl here Quinn, did you mean the chroot idea in the "bootstrap" thread? If so, I'll either need a little more time to digest it, or just request a reboot with the installer. It sounds as if running the above Python in the context of an Installer postflight script would result in a no-op because of the RUID. Thanks! -- Jeremy