Restricting the Linux shell login privileges of the NCM installer created pgdba user on the Linux host causes any attempt to start the NCM controldb service to fail.
NCM 10.X
pgdba:x:{UID}:{GID}:PostgreSQL Database Admin:{NCM Home Path}/db/controldb:/bin/bash
/sbin/nologin
/bin/false
/bin/true
source /etc/voyence.conf
service tomcat stop
service vcmaster stop
source /etc/voyence.conf
service controldb stop
cp -p /etc/init.d/controldb /tmp/_[etc-init.d-]controldb.bak
sed -i 's/su - pgdba -c/su - pgdba -s \/bin\/bash -c/g' /etc/init.d/controldb
cp -p /etc/passwd /tmp/_[etc-]passwd.bak
usermod -s /sbin/nologin pgdba
reboot
source /etc/voyence.conf
service controldb status
source /etc/voyence.conf
service vcmaster status
service controldb start
service vcmaster restart
After completing these steps, any attempt to open a manual database shell from a command line on the Application Server host will require you to explicitly specify the shell you intend to use. This can be accomplished via the '-s' option to the Linux 'su' command. For example:
su - pgdba -s /bin/bash -c 'psql voyencedb voyence'
Also, if any services fail to start after making the changes listed in the above steps, there may be an irregular configuration of the Linux host, possibly due to external management of users and permissions on the host by a third party system. If so, it will be necessary to revert all of the above changes, then contact the Linux host management team to have them review and replicate this process in their host administration systems. To revert back to the previous condition, substitute new Step 7 below in place of Step 7 above, then repeat the process described above.
7. Verify that the /tmp/_[etc-init.d-]controldb.bak file backup of the default /etc/init.d/controldb service initialization script file resides in the /tmp path, placing a copy there if needed, then run the following sequence of commands in the Linux shell on the host where the controldb resides (AS, DB, or Combination Server) to restore default content to the /etc/init.d/controldb file and to restore default Linux default shell login privileges to the pgdba user.
cat /tmp/_[etc-init.d-]controldb.bak > /etc/init.d/controldb
usermod -s /bin/bash pgdba
reboot