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-2.2.0.19 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 http://ckp.made-it.com 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: dleeuw@made-it.com

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.

NCPFS

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.

NCPFS-2.2.0.19
Download from: http://platan.vc.cvut.cz/ftp/pub/linux/ncpfs/

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

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 http://www.tldp.org/HOWTO/IPX-HOWTO.html which has a very clear description.

NDS introduction

Objects:
C=Country -O=Organization

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

CN: Leaf-objects (can not contain other objects):
------Users
------Printers
------Servers
------Aliases
------Profiles
------Groups

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.

C-object:
The country definition. This object is not needed.

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

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

Special Objects
Admin
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?

Information

slist
List all servers in a network
listtrees
List all trees in the network
nwsfind
Find a Netware server
pqlist
List printqueues
vlist SERVER1
List available shares
nwfsinfo
print fileserver information
nwdsgetstat
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
nwbols
List NetWare Bindery Objects (nwbols -S SERVER1 -U admin -P password)
nwuserlist
Show logged in users (nwuserlist -S SERVER1 -U admin -P password -a -q)
nwvolinfo
Show disk usage
readaddr
Read servers DNS and IPX address
readattr
Read attributes
readadef -S SERVER1 -q 1
To read attribute information (-A to specify attribute)
readcc
Show all C classes
readcls
Show a list of all available classes
resolve
Shows the object information (resolve -S SERVER1 -o COMPANY.NL), gives ID and Connection.
time
time setting within the Netware network, filter the fields you need.

Connectivity

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

Administration

nwpasswd
Change your password
modobj
Change object in the DNS tree
rmobj
Delete object from DNS tree
rnobj
Rename object from DNS tree
mkobj
Add an object to the tree

A couple of example sessions (or my test log)

slist
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.