Services default to starting as `root` at boot time on my RHEL box. If I recall correctly, the same is true for other Linux distros which use the init scripts in `/etc/init.d`.

What do you think is the best way to instead have the processes run as a (static) user of my choosing?

The only method I'd arrived at was to use something like:

```
 su my_user -c 'daemon my_cmd &>/dev/null &'

```

But this seems a bit untidy...

Is there some bit of magic tucked away that provides an easy mechanism to automatically start services as other, non-root users?

**EDIT:** I should have said that the processes I'm starting in this instance are either Python scripts or Java programs. I'd rather not write a native wrapper around them, so unfortunately I'm unable to call [setuid()](http://linux.die.net/man/2/setuid) as [Black](https://stackoverflow.com/users/25234/black) suggests.