Netware NDS

Version: 1.2 Dennis Leeuw

Changes 1.2: added -A to example readcls

Changes 1.1: Update remarks Petr Vandrovec, thanks!

This document tries to explain the netware connectivity and control of a Netware NDS tree from Linux. The tests done are with Novell Netware 4.11 and ncpfs- on Debian GNU/Linux version 3.0.

Beware: This is a test description! If your servers crash, well they crash. Don't hold me responsible for that. This is just a description of what I found useful and what worked for me.

Another note. Before I started this I didn't know much about NDS. I had setup Netware 3.12 before, so some knowledge was available. For a more detailed IPX description browse to and read the IPX/SPX page. So don't expect everything I tell here about NDS and it's objects to be true. I had to figure it out from scratch.

Comments and ideas:

Netware configuration

The [root] fo the tree was called SROME. I created a C=NL, since I live in holland and added a O=COMPANY object. Within this I created a server SERVER1 and a user tuser1. With this I started test.

The IPX configuration must be set to RIP/SAP only, and not to NSLP support. I haven't been able to get things running with NSLP.

I also enabled IP, but as far as I can see, it isn't used at all.


Installing NCPFS:
I used ncpfs from source, since the packages didn't supply all the tools I needed. If you want to follow what I have done, please build from source too.

Download from:

vi /etc/ and add /usr/local/ncp/lib
./configure --prefix=/usr/local/ncp
make install
cd contrib/testing/

Now copy from contrib/testing the following files to /usr/local/ncp/bin/:
nwdsgetstat readadef time modobj rmobj rnobj mkobj

Linux Configuration

For setting up GNU/Linux with IPX I would like to refer you to which has a very clear description.

NDS introduction

C=Country -O=Organization

Container-objects (can contain other objects):
---OU=Organizational Unit
---OR=Organizational Role

CN: Leaf-objects (can not contain other objects):

Every object is defined by it's object class definition. An object class definition consists of properties and attributes. Both words can be used interchangeably. I'll try to always use attribute.

The country definition. This object is not needed.

The O-object is normally the name of the organization.

Are subclasses of the organization. For a small company this might be, e.g. sales, technical, marketing, etc.

Special Objects
Where Supervisor is the filesystem root, Admin is the DNS root.

Linux Tools

Almost all NCPFS commands support -h for help!

Object types:
1- user objects
2- group objects
3- printqueues
4- fileservers?


List all servers in a network
List all trees in the network
Find a Netware server
List printqueues
vlist SERVER1
List available shares
print fileserver information
Get server statistics, (nwdsgetstat -S SERVER1 -o SERVER1.COMPANY.NL)
readsdef SERVER1
To get the server schema
readsynt -d SERVER1
To get all syntax_names and definitions
List NetWare Bindery Objects (nwbols -S SERVER1 -U admin -P password)
Show logged in users (nwuserlist -S SERVER1 -U admin -P password -a -q)
Show disk usage
Read servers DNS and IPX address
Read attributes
readadef -S SERVER1 -q 1
To read attribute information (-A to specify attribute)
Show all C classes
Show a list of all available classes
Shows the object information (resolve -S SERVER1 -o COMPANY.NL), gives ID and Connection.
time setting within the Netware network, filter the fields you need.


Logs you in on a Novell server and creates a mount in ~/ncp
Logs you out and removes the mount in ~/ncp
mount volumes of the specified NetWare Fileserver
umount volumes
connects to print queues on Netware servers and feeds incoming print jobs to the Linux printing system
print to a Netware queue
send a message to a user or group


Change your password
Change object in the DNS tree
Delete object from DNS tree
Rename object from DNS tree
Add an object to the tree

A couple of example sessions (or my test log)

get the server name
nwdslist -S SERVER1
Get object under [ROOT]
e.g. nwdslist -S SERVER1
nwdslist -S SERVER1 -o OBJECT
Get objects with OBJECT
e.g. nwdslist -S SERVER1 -o NL
repeat until you reach the O= object
nwdslist -S SERVER1 -o COMPANY.NL
Gives you all objects in the tree
Beter would be to specify what you want to see:
nwdslist -S SERVER1 -o COMPANY.NL -l User to list all users
readattr -S SERVER1 -o tuser1.COMPANY.NL -q 1
Show all attributes that can be used with a user
-q 1: short list
-q 3: list incl. flags
-q 4: more info ?
modobj -S SERVER1 -o tuser.COMPANY.NL -q 0 -a 'Title' -V 'test user'
Add an attribute Title to the user tuser.
modobj -S SERVER1 -o tuser.COMPANY.NL -q 6 -a 'Title'
Removes the attribute values, mind the order of the options!
-q 0: add attr
-q 1: remove attr
-q 2: add value
-q 3: remove value
-q 4: add additional value
-q 5: overwrite value
-q 6: clear attr
-q 7: clear value
rmobj -S SERVER1 -o tuser1.COMPANY.NL
Removes the user tuser1 from NDS
rnobj -S SERVER1 -o user1.COMPANY.NL -n user2.COMPANY.NL
renames user1 to user2
readcls -S SERVER1 -o COMPANY.NL -q 2 -A User
To read all available attributes for the User object. Look for the mandatory ones.
mkobj -S SERVER1 -o COMPANY.NL -a 'Object Class' -V 'User' -a 'CN' -V 'test4.' -a 'Surname' -V 'test4'
For me Object Class, CN and Surname where mandatory ones. You atleast need to supply these. Additional attributes are possible.