ncpfs—Novell Netware Connectivity for Linux

 in
Linux supports a very wide array of networking protocol, and software exists to tap into virtually any network server, and even become a server for non-Unix clients.

Today's networks are becoming increasingly complex and diverse. Often a system administrator is forced to face a network of more than one operating systems, and sometimes even more than one communication protocols. Not surprisingly, one platform that manages to adjust in these harsh conditions is Linux. Linux supports a very wide array of networking protocol, and software exists to tap into virtually any network server, and even become a server for non-Unix clients. Samba provides client/server for Windows 3.11/95/NT networks, Netatalk takes care of Macintosh's Appletalk, and in this article I will discuss yet another program that allows any Linux machine to become a full-fledged Novell client.

Novell networks are among the most popular ones in the world. Therefore, it is no surprise that some means of interacting with Novell servers has evolved. A typical Novell network consists of one Novell server, usually running dedicated to Novell, and many clients (PCs usually running DOS/Windows). Unlike NFS Unix networks, there is a very big software difference between the Novell server (usually running a special OS) and the clients (usually running DOS/Windows with Novell drivers). While commercial products exist that enable interaction between Novell and Unix systems, ncpfs provides a powerful, easy and free way of doing it.

ncpfs is a suite of programs created and maintained by Volker Lendecke (lendecke@namu01.Num.Math.Uni-Goettingen.de) that let you access a Novell server in various ways. The primary service a Novell server provides is its files. A Novell server holds several volumes, each usually corresponding to a hard drive or CD-ROM. ncpfs lets you easily mount a Novell server—the directory used to mount the server will contain a directory for each volume accessible on that server, and in those directories will be the actual directories and files. Note that a Novell server allows you to see only what you have permission to see.

How to Use NCPFS

Get the latest version of ncpfs from: ftp.gwdg.de:/pub/linux/misc/ncpfs or from: sunsite.unc.edu:/pub/Linux/system/Filesystems/ncpfs. Untar it, and compile the tools by typing make and make install. Consult the README file, if you have any problems.

ncpfs utilizes the NCP (Novell Core Protocol) protocol, which sits on top of IPX (Internetworking Packet eXchange). First, make sure that IPX support is available in the kernel (or as a loadable module). Then, you must configure the IPX interface. ncpfs comes with the Linux IPX tools, which allow you to create an IPX interface and a route, somewhat like ifconfig and route. The easiest way to configure your IPX system is by doing this:

ipx_configure --auto_interface=on \
        --auto_primary=on

This attempts to automatically determine everything about your interface, and to set it as the primary one. If this doesn't work, you will have to try to configure manually. For more information consult the man pages for ipx_configure, ipx_interface, ipx_internal_net and ipx_route. Now you are ready to run ncpfs utilities.

All the ncpfs tools work in a similar fashion. Since each operation requires accessing a Novell server, almost each command execution requires that three things be supplied: the server name, the user name and the password. There are two ways to do so:

  1. Use command-line parameters: <command> -S <server name> -U <user name> -P <password>. This is usually a tiresome method since EVERY command needs to have these three switches fed to it.

  2. The file ~/.nwclient may contain information about servers. Each line may contain information in the following syntax: <server_name>/<user_name> <password>

If you specify the -S command-line parameter, the program will automatically get the user name and password from the appropriate line of this file. If not, it will use the first line.

To cut straight to the interesting stuff, in order to mount a Novell server, simply type:

ncpmount <mount_point>

Again, add switches for the server, user and password or use ~/.nwclient.

Your mount point will contain a directory for each volume, containing the actual files, in the Novell server. ncpmount also provides many options to control the mounting, such as the UID and GID of the file hierarchy. Consult ncpmount.8 for more details. Note that a Novell server can be mounted several times from the same computer. Note also that ncpmount and ncpumount do NOT have to be setuid, which enables any normal user to mount their accounts on a Novell server, opening yet more possibilities for ncpfs application in the real world. For example, to access the file \LOGIN\LOGIN.EXE on volume SYS, on the Novell server MYSERV on /mnt, as the user supervisor with the password 12345 (let's hope there aren't many of these out there), execute:

ncpmount -S MYSERV -U supervisor -P 12345 /mnt

OR have the following line in ~/.nwclient:

MYSERV/supervisor 12345
and execute:
ncpmount /mnt
Once the Novell server is mounted, the file LOGIN.EXE will be represented as /mnt/sys/login/login.exe.

In order to print to a Novell server, simply execute:

nprint -q <queue_name> <file>

This will contact the specified printer queue on the server and send it <file> as a print job. See nprint.1 for more details. Note that ncpfs also provides a print server, allowing Linux to connect to a Novell server's queues and transfer jobs to the Linux printing system; see pserver.1 for more information.

Another important functionality provided by ncpfs is direct access to the bindery. The bindery is the database where a Novell server keeps all information about users, groups, and just about everything else. Unfortunately, the bindery can normally be accessed only by using tools provided by Novell. While these tools are usually very colorful and user-friendly, when it comes to manipulating hundreds of users and groups they don't pack the punch. In Unix this problem is solved by providing direct access to the database—/etc/passwd, for example, and using general-purpose tools such as sed, awk and perl. ncpfs provides tools to access the bindery and modify it, allowing the savvy system administrator to write flexible shellscripts to modify a Novell server's bindery. So, for example, if you wish to change every single user's name so that the third letter is x, you can do so quite easily. This ability means that even if you don't need to access a Novell server from a Linux machine you might still find a use for ncpfs for administrative purposes.

The tools nwbocreate, nwbols, nwboprops and nwborm allow you to manipulate bindery objects (such as users, groups, print queues, etc.); the tools nwbpadd, nwbpcreate, nwbprm, nwbpset and nwbpvalue will change the properties of objects. These base-functionality programs open up endless possibilities for Novell management utilities for Linux, even more diverse than the ones that exist for DOS/Windows, since no programming libraries are normally provided with Novell Netware. See their man pages for additional information.

Some more nifty tools provided by ncpfs are:

  • nwrights, nwgrant, nwrevoke allow the modification of file access rights like Unix's chmod)

  • nsend sends a message to a user via the Novell server (note that if the recipient is also using ncpfs, their computer must run kerneld to receive the message)

  • slist lists the Novell servers available on the network;

  • nwpasswd changes the password of a user;

  • pqlis lists the print queues available on a Novell server;

  • nwuserlist lists the users logged into the server and their hardware addresses

  • ncopy copies files within a Novell server without sending them through the network

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Is it possible to create a Netware partition under Linux?

Fer C.'s picture

I have installed Novell SUSE Enterprise Server with the add-on OES 2 to include eDirectory, etc. Also, I added a new 500GB hard disk besides the two hard disk in the server. This new 500GB hard disk, I would like to create 4 Netware volumes. How could I create those volumes for Netware and not Linux?

Thank you for any info.

how to install?

Anonymous's picture

Hello! I've tried to install ncpfs-2.2.6 but had problems. I've got Ubuntu with kernel 2.6.14-22. Here my outputs for commands 'make' and 'make install': http://disk.tom.ru/eskkxzd
Thanks!

Israel Versions

Ksood's picture

First of all you should live in Jerusalem, Israel. Only this way it could work properly

linux and novel 3.12

gurmeet's picture

we r having a novell 3.12 server working as a file and print server nad many custom made applications running on it , we wanted 2 shift to linux so we made a LINUX RHEL 3 server , but problem is even after installing NCPFS and IPXUTILS , we cannot mount netware volumes or do any work , it always gives the same messsage for every action . "ADDRESS FAMILY NOT SUPPORTED" any
remedy

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

Question: is anyone working on a version of ncpfs that doesn't require IPX? Since NetWare 5.0 and higher support native IP, most large NetWare shops are trying to get away from IPX.

Thanks,

Doug Black

black.170@osu.edu

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

Yes you can use the switch -A 10.0.0.7 with the -S, -U, -V and -P switches. -A uses IP or DNS name. It will only use the IP protocol instead of IPX.

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

PLEASE PLEASE... does ncpfs support IP only NDS? It it the last Linux piece we need to fall into place at my organization. IPX support seems to be just fine but what about native IP? This FAQ http://support.novell.com/cgi-bin/search/searchtid.cgi?/10022800.htm seems to say that it does but I have found no information on how to use it.

Strid..

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

I have a question, since you sound like an expert!

I have setup a ncpfs share on my redhat 8.0 box that maps a drive to my netware 5.1 server. I can see all the files from the redhat server. However when I try to publish these pages to our website any file over 12KB displays as an empty (blank) page.

I can open the file from the redhat server, but not through a web browser. Which leads me to believe it's a problem with the web server (Apache). Unfortuanty I know less about Apache than I do about ncpfs. So any help would be greatly appreciated.

Thanks,

Jeff

jfisher@darby.k12.mt.us

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

I am looking for the same thing.

If anyone would be so kind to reply with answer and/or email.

-Alvaro

MartinAl@collier.k12.fl.us

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

The newer version of the ncpfs can be used to mount netware volumes using UDP instead of IPX. You just need to add the option -A to the ncpmount command.

example: ncpmount -S MyServer -A -U User -V ServerVolume /mnt/Netware

I created a bash script that can somewhat automate this if you want to check it out let me know, at s_bog@yahoo.com, and I can email it to you. Hope this helps.

Steve

Re: Take Command: ncpfs--Novell Netware Connectivity for Linux

Anonymous's picture

I too am looking for a TCP replacement. We are currently examining the AuditLogon NLM that is available. Please email me if you find anything.

Jeff Smith (jsmith@unb.ca)

University of New Brunswick

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix