dxcmd error “Unable to initialize DClient” caused by config file permissions

Attempting to run dxcmd was yielding this error on one of our IDM servers:

DirXML Command Line Utility
Copyright (C) 2003-2011 Novell Inc., All Rights Reserved

Enter user name: foo.user
Enter user’s password:
java.lang.Error: Unable to initialize DClient
at novell.jclient.JClient.initializeDclient(Native Method)
at novell.jclient.JClient.initialize(JClient.java:906)
at com.novell.nds.dirxml.util.DxCommand.commandLine(DxCommand.java:419)
at com.novell.nds.dirxml.util.DxCommand.main(DxCommand.java:391)

Using the command

strace -f dxcmd -user foo.user -password S00perS33cr3t

turned up a “permission denied” error while trying to open /etc/opt/novell/nici64.cfg. On other servers, that file was world-readable; on the problem server, it was owner- and group-readable only.

The chosen fix was to remove world-readable attribute on all servers, and use “sudo dxcmd” to eliminate the file permissions problem.