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.