, , , ,

The HP-UX system (like many others) uses something called the Name Service Switch (NSS) which basically means that any program requiring “names” for things (such as users, systems, networks, services) goes through a sort of “Grand Central Station” which correlates the different possible services (such as DNS, NIS, files) with the names. It is actually quite nice; the service is best described through the man page for nsswitch.conf(4) – the configuration file is found in /etc.

However, the configuration for the name services needs to be propogated out to the various daemons that are running. Typically, NSS involves libraries such as nss_named, nss_ldap, and so forth. When changing the configuration in nsswitch.conf file, using the daemon’s builtin “reread configuration file” will not be enough. The NSS libraries will already have been loaded, and may even be now configured wrong (since the configuration file changed). Restarting the daemon from scratch will reload all of the appropriate libraries for the proper configuration.

I ran into this when trying to properly configure inetd for ServiceGuard (did you know that identd is required for proper ServiceGuard operation?). inetd -c did not reconfigure the server (though it might seem at first glance that it must). Restarting the server cleaned things up smartly.