Using DirXML To Replace NIS

NIS#

NIS (Network Information System) in the current name for what was once known as yp (Yellow Pages). The purpose of NIS is to allow many machines on a network to share configuration information, including password data. NIS is not designed to promote system security. If your system uses NIS you will have a very short /etc/passwd file that includes a line that looks like this:
+::0:0:::i

To view the real password file use this command `ypcat passwd`

Many people are interested in migrating away from NIS. NIS and NIS+ are often being replaced by LDAP (Lightweight Directory Access Protocol).

one of the limitations of NIS, besides several security vulnerabilities, is the limit of the number of users within a group. The client had set up group1, group2 and group3 to overcome this limitation in NIS.

A Novell IDM Solution#

We implemented the following for a large (2,100 users and 1,900 hosts) as follows.

Project Objectives#

Solution Overview#

One of the items that was important was the ability to not force every Unix/Linux account ot change their password's at the same time or on the same system. We wanted the users to continue to use their existing passwords to be able to login to the systems.

Unix and Linux use a crypt() one-way-hash for passwords. We made use of the "Simple Password method" to be able to allow the users to use their existing passwords to login to the "User Application" in order to manage their passwords.

Solution user and Group Management#

After being implemented, new users:

Created a java program to create LDIF files from the passwd and group files from NIS. The LDIF added the users as members correct groups as they were set within NIS. Spent a lot of time, as always, dealing with dirty data. We had some groups with the same gidNumbers and some users witht he same username and different uidnumbers.

NxSettings Driver#

Although this driver is usually used with the bi-directional driver, it was a perfect fit for this solution as we wanted to manage the posix Attributes form the IDV and be able to use the existing posix attribute values for the current users.

BTW, We liked this driver. It is like a loop-back driver but has some cool features specific to managing the posix attributes. The driver will actually search the IDV for the uidNumber or gidNumber before assigning to a user. The driver is capable of using LUM if it is available, but will worked fine using a stylesheet to store the number ranges and last number used.

The NxSettings driver allowed this to work.

We did the following modifications to the NxSettings driver.

Unix/Linx Fan-out#

The Fan-Out driver was used to deploy the actual users to the individual hosts. We implemented the following modifications:

How we used the driver:

The Bi-Directional Driver was implemented to deploy new users to the existing NIS server. This allowed the client to manage the users and groups centrally while maintaining the two systems for deployment.

The following modifications were done on the Bi-Directional Driver.

How we used the driver:

Here are some of the items that maybe limitations:

More Information#

There might be more information for this subject on one of the following: