Can't get launchd to run shell script as root
I'm trying to run a very simple shell script on a regular basis to change permissions on files added to a group of folders on a server. I'm trying to set it up via launchd, since that's what Apple recommends, but when it runs, I get "operation not permitted" errors in the log, which I believe are caused by the script running as admin instead of root. I've tried adding the user variable "root" to the launchd plist, but when I load it that way, the log says it's ignored. Also, it doesn't load at boot. I can load it manually if I use launchctl load from the command line, but seems to run as admin instead of root.
Here's a copy of the launchd plist:
<?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>com.mycompany.permissionsfix</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>/usr/local/bin/permissionsfix</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
It's named "com.mycompany.permissionsfix" and lives in /Library/LaunchDaemons. I believe the permissions are correct (System r/w, Wheel r, Others r). I've verified the script works when called from the command line with sudo.
Other variables that may or may not matter:
The folders being targeted live on a SAN volume shared by the server.
Server is a current model Xserve, running 10.6.2 server.
Can anybody tell me what I'm missing?
iMac, Mac OS X (10.6.2)