« They're Back | Main | Subvert From Within: A User Focused Guide to Success »

NCPFS chgpwd

As I've noted before, my remaining problem with using Linux in a Novell Netware 4.x environment was changing my Netware password. You may remember that I'm using the NCPFS utilities to login to our Netware server and mount the volumes I am authorized to access. This mini how-to assumes you have successfully been able to get logged in and have mounted said volumes.

The NCPFS utilities (as of this writing I am using version 2.2.6) include, among other things, something called nwpasswd that provides a way to change your Netware password. However, partly due to a sketchy MAN page/example and partly due to my lack of understanding of how Netware logins work I have not been able to get nwpasswd to run error free. The error I keep getting refers to an unknown server error (0x89F0). I tried Googling for reasons why I would get this error and found one site that said nwpasswd doesn't work if the server is on a different sub-net from the client that is trying to login. I believe this is the situation on our network so this may be why I can't use this utility. If you can get it to work, great. If not, you may want to read on.

In searching for another utility, I found that NCPFS also includes, but does not install by default, a program called chgpwd. It is located in the /contrib/tcl-utils directory of the default NCPFS 2.2.6 install. I don't know why there would be two NCPFS utilities to change passwords but there you go.

However, under the default Xandros distribution, I couldn't find this utility nor even the directory it's supposed to be in (perhaps because NCPFS was installed using Xandros Network). So I downloaded the full NCPFS 2.2.6 package, untared it, changed into the NCPFS-2.2.6 directory that was automatically created, did a ./configure, make, make install-dev, changed into the /ncpfs-2.2.6/contrib/tcl-utils directory and then did a make chgpwd. Two notes: I did not do a make install in the /ncpfs-2.2.6 directory because I did not want to run the chance of installing a new version of NCPFS over the one already installed by Xandros Network since this could break something that wasn't broken. The second note is I did try to make install chgpwd, but got an error saying the default install directory for chgpwd existed but was not a directory (!?!?!). So, I just left the newly created binary in the /ncpfs-2.2.6/contrib/tcl-utils directory where it was.

At that point, I tried using the chgpwd utility and ran into problems because, now wait for it, the sketchy documentation. All I can say is you have to try the various options (taking care to observe upper and lower case) to see what works for your network. For mine, I needed the -S server name, -c context_name, -o object name, and of course, -P old password and -n new password. Note: if you use the -S server option, do not also use the -T tree option. One or the other, but not both.

For the record, using chgpwd would look something like this for our network:

./chgpwd -S DOWNING -o BOND -c AREA51.MI6.UK -P james -n moneypenny

Where DOWNING is the server name, BOND is the user name used to login to the Netware server, AREA51.MI6.UK is the context on the NDS tree for the object BOND, james is the current password and moneypenny is the new one.

Be aware that this utility does not give you any feedback unless something goes wrong. YMMV. Insert disclaimer here.

Comments

Mind boggling! All this just to change a password? Yeah - typical Linux. "We do IT in a hammock - standing up."

When are the Linuxen going to wake up to the need for a Linux version of InstallShield? Or is that too complex for the Linuxen to cope with? Sheesh.

I'll give up Win2K Pro when you pry it from my cold dead hands.

Regards,

J H RICKETSON
[JHR@WarlockLtd.com]