Minor bug in ColdFusion 10 Linux Startup Scripts

by Pete Freitag

Running ColdFusion 10 on Linux you might run into an issue when checking the server status, if your ColdFusion user account has a default shell of /sbin/nologin (this is how your account should be setup for security purposes). So for example when you run:

/etc/init.d/coldfusion_10 status

You get this output

This account is currently not available.

If open up the file /etc/init.d/coldfusion_10 in an editor you will see that when ColdFusion invokes the status command on linux it doesn't pass a shell to use, so it tries to use /sbin/nologin which of course fails.

To fix this look for this line:

CFSTATUS='su $RUNTIME_USER -c "cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status"'

Replace the su command with $SUCMDFILE -s /bin/sh - the

CFSTATUS='$SUCMDFILE -s /bin/sh $RUNTIME_USER -c "cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status"'

This was also a problem in prior versions of ColdFusion as well, but it also failed when you tried to start, stop or restart. So it's great they have fixed it for start, stop, restart but they missed the status command.

I have filed this as a bug with Adobe: Bug #3325996

The Fixinator Code Security Scanner for ColdFusion & CFML is an easy to use security tool that every CF developer can use. It can also easily integrate into CI for automatic scanning on every commit.