Enhanced CruiseControl.rb to start itself as a different user/group
If you have tried running CruiseControl.rb using an init.d script(to wire it to start automatically on machine bootup), you have probably hunted for ways to run it as a relatively unprivileged user.
When you start the process using init script, it starts off with root permission, which is a potential threat, specially so for a continuous integration server(where a malicious testcase, can corrupt/delete important files). CC.rb doesn’t support starting as a different user out of the box, so i enhanced it on a github fork(
). I have also requested a merge to thoughtworks repository, so you can hope to find it there in sometime…
To start it as another user and group, you can clone the forked repository and use…
# ./cruise start --user <username> --group <groupname>
If you are already using an init script and don’t want to disturb the cruise server, you can use something similar to what i have done for this init script.