Problem:
Why must a person be logged in as root in order to install Server Express?
Resolution:
When the user is prompted where to install the Server Express product (and could answer any arbitrary directory), the install script must have the power (permissions) to create that directory anywhere on the machine. The same idea applies to the creation/installation of the "drivers".
The install script must be able to create new (or modify existing) license systems, for both development and Application Server licenses. The license systems must be owned and administered by root, because they are critical (common users must not have permission to disturb them).
The install script must be able to modify the system file /etc/inittab, and to create a file in the system directory /etc, in order to set up the "auto-start at boot time" feature of the License Manager.
The files in $COBDIR (the COBOL system files) are critical to the operation of Server Express, and must be owned by root to protect them from inadvertent damage by a common user, especially on machines where COBOL is part of a mission-critical application. The install script will assign appropriate permissions to each file in $COBDIR (according to each file's nature), such that the system will be operational for common users, but cannot be damaged by common users.
Other reasons are:
- The current installation scripts for Server Express will explicitly abort if they are executed as non-root users.
- As part of the installation the installer has to potentially update system files, such as /etc/inittab, /etc/cciusers.dat, and /etc/services, which typically would only be writable by the root user.
- In addition, with certain files, the installation process requires to change ownership to a user ID different to the user running the installation script. This would most likely fail if not running with root user privileges.