in reply to Premature end of script headers more annoying than usual . . .

You can get the status of selinux with the "getenforce" command (example from CentOS 5.2):
$ /usr/sbin/getenforce Enforcing $
If it is in "Enforcing" mode and you are authorized to place it in "Permissive" mode, you can do so with:
sudo /usr/sbin/setenforce 0
and restore "Enforcing" mode with:
sudo /usr/sbin/setenforce 1
In "Permissive" mode, selinux logs things it finds objectionable, but does not prevent them. In my limited experience, this has always been able to distinguish an selinux issue from other issues. (If you want to disable selinux entirely, you'll need to modify "/etc/selinux/config".)

CAUTION: I don't recall whether changes to enforcing mode made in this way persist across system restarts.

If you determine that this is an selinux issue or it is not an option to switch to "Permissive" mode even temporarily, the next step would be to look at "/var/log/audit/audit.log".

I've heard that CentOS 5 has vastly improved tools to help diagnose selinux problems, but I have no experience with them.