[frs-284] FRAM doesn’t start with message “This account is currently not available.”


Symptoms

FRAM will not start and throws the message below.

This account is currently not available.

Background

On *nix, it's common to have users whose shells are restrictive, i.e. inhibit login. A common way of doing this is to have /usr/sbin/nologin as their shell.
Our FRAM service requires a shell in order to start correctly.

Default behaviour (v4.0.4 and earlier)

Our startup script /etc/init.d/framd does the following:

su -c "/opt/fusionreactor/tomcat/bin/framd-real start" nobody
  • Uses the "su" command to run a command as another user (init.d scripts are run by init as root), in this case nobody
  • The framd-real script is the real script that starts FRAM

In the fault case, framd does not start because of the restricted shell for nobody.

Resolution

Add an additional parameter to su which allows us to specify a shell:

su -s "/bin/sh" -c "/opt/fusionreactor/tomcat/bin/framd-real start" nobody

This effectively bypasses /usr/sbin/nologin for the startup of FRAMd.

Important Notes

  • In this technote, we have assumed your JEE engine (eg JRun/ColdFusion) is running as the user "nobody". If this is not the case then you should replace the "nobody" references as appropriate. Please refer to http://www.fusion-reactor.com/support/kb/FRS-270.cfm for further details
  • In some cases where a user has run the installer twice on the same server, it's possible the /etc/init.d/framd script has been corrupted. If you do not see the command
    su -c "/opt/fusionreactor/tomcat/bin/framd-real start" nobody
    

    on line 27 in the file then please contact support.

Issue Details

Type: Technote
Issue Number: FRS-284
Components: Installer
Environment:
Resolution: Fixed
Last Updated: 10/Jan/12 3:11 PM
Affects Version: 4.0.4
Fixed Version: Pending
Server:
Platform: Linux, MacOS, Solaris, AIX
Related Issues: