XNFS initialization fails

  • 7001615
  • 10-Oct-2008
  • 27-Apr-2012

Environment

Novell NetWare 6.5
Native File Access for Unix (NFAU)
NFS Server (XNFS.NLM)
NFS Gateway (NFSGY.NLM)
FTP Server (NWFTPD.NLM)

Situation

XNFS initialization failures:
Error: NFS Services initialization failed during eDirectory interface library (ndsilib.nlm) initialization - Error Code : 9600. Unload XNFS.NLM.
Error: Server-5.70-1553: Module initialization Failed. Module XNFS.NLM NOT loaded.
Error: Module XNFS.NLM load status INIT FAIL.
Error:96 : Could not add the object : .CN=NFAUUser..
Error: You need to check the NIS Administrator Context Error Code : -603

NDSILIB failures:
Error: Unable to Login. : error -601. Run schinst -n and try again. If the problem still persists, see the TroubleShooting section of the admin doc.
Error: Could not authenticate ContextHandle.Run schinst -n and try again. If the problem still persists, see the TroubleShooting section of the admin doc. Exiting...-601
 
NWFTPD loads with message in sys:/etc/ftpd.log:
Sub-tree Search function(s) are not available in the system, working with context level search.

Resolution

Various NFS modules (and optionally FTP modules) depend on NDSILIB.NLM. NDSILIB.NLM must log in as the NFAUUser object in order to initialize. If this user object is missing or improperly created, these errors will occur.

The NFAUUser must be properly created. READ ALL THESE STEPS BEFORE TAKING ACTION.

1. Identify the context where this server would be attempting to find the NFAUUser object. NDSILIB will use this object from the NetWare server's first bindery context. This should be checked by giving the command "config" (not "load config") at the NetWare server console. The end of that output will show a tree name and a list of bindery contexts, if any are set. The first one is where NDSILIB will check for NFAUUser. If there is no bindery context, then NDSILIB will use the server object's context.

2. Once the correct context is identified in step #1, check that context and delete the NFAUUser if it already exists.

3. From the server console, execute: LOAD SCHINST -N -W
and follow the prompts. Login as a true admin user. This will check the schema and create an NFAUUser object.

4. LOAD SCHINST -N on any other NetWare NFS server which would use the same context for it's NDSILIB activity. This would be any NetWare server with the same first bindery context (or server object context, if there is no bindery context), as identified in step #1. This will sync that server with the newly created NFAUUser object.

5. Try loading NDSILIB again (unload it first, if necessary). Check the logger screen for errors. Also attempt restarting the service in question (NFS, NFS Gateway, FTP). The problem will likely be solved.

6. If the problem is not solved, there may be a erroneous schema which SCHINST did not detect or could not correct. LOAD NWCONFIG and select Directory Options, Extend Schema. Login as admin and then extend the schema with SYS:SYSTEM\SCHEMA\NISEXT.SCH. Repeat this with SYS:SYSTEM\SCHEMA\UAM.SCH, NIS.SCH, and NISUPGD.SCH. Errors may be shown on the screen, or can be checked afterward in SYS:SYSTEM\DSMISC.LOG. If there are any errors reported during these 4 extensions, search the Novell knowledgebase for TIDs referencing the attribute or class names on which the errors occurred, and use those TIDs to fix the schema problems. Some schema problems may require Novell assistance. Then (even if no schema errors were encountered), repeat steps 1 - 5.

Additional Information

Formerly known as TID# 10096114

Change Log

4-11-2012 Revised to include more details in situation and resolution areas.