4.3 The Technical Explanation

The setndsconf script works as follows:

  1. The script is not invoked until the network interfaces are started and assigned IP addresses. There can be multiple interfaces defined.

  2. The script accesses the root user’s ID. In most cases it should be 0.

  3. It checks for the default eDirectory configuration file location. Normally it is /etc/opt/novell/eDirectory/conf/.edir/instances.myuserid for eDirectory instances that the root user owns.

  4. It parses the instance file and assumes that the first instance is the eDirectory instance installed on the VMware server.

  5. It checks the nds.conf configuration file to see what ports have been defined for NCP™, HTTP, and HTTPS.

  6. It accesses the server’s hostname.

  7. It accesses the operating system name. (Linux).

  8. It generates a list of interfaces. For example, eth0, eth1.

  9. For each interface found, it parses the IP address and adds it to a list.

  10. It backs up the nds.conf file found in the /etc/opt/novell/eDirectory/conf/.edir/instances.<myuserid>.

  11. Changes are applied to the nds.conf file. The only changes made to the file are the list of https.server.interfaces, n4u.server.interfaces, and http.server.interfaces. These are changed to the list of IP addresses and ports found in Step 5 and Step 8. Everything else in the file remains the same.

  12. It parses /etc/hosts file, looking for a domain name.

  13. It backs up the /etc/hosts file.

  14. It creates a new /etc/hosts file with the interfaces it found. They are listed as eth0 hostname.domain name hostname.

  15. The script has finished executing, and ndsd starts after the new nds.conf file is in place. This allows eDirectory to start on any interface listed in the new nds.conf file.