The pcnfsd daemon is an RPC server that supports ONC clients on PC (DOS, OS/2, Macintosh, and other) systems. This reference page describes Version 2 of the pcnfsd server.
The rpc.pcnfsd daemon is started via /etc/rc.config by default. It can be turned off by running nfssetup and by answering 'no' to the appropriate question. The pcnfsd daemon reads the /etc/pcnfsd.conf configuration file if present, and then services RPC requests directed to program number 150001. This release of the pcnfsd daemon supports both Version 1 and Version 2 of the pcnfsd protocol.
The requests serviced by pcnfsd fall into three categories: authentication, printing, and other. Only the authentication and printing services have administrative significance.
By default, pcnfsd only allows authentication requests for users with UIDs in the range 101 to 60002. (This corresponds in SVR4 to the range for non-system accounts.) To override this, you can add a line in the following format to the /etc/pcnfsd.conf file. Here each range is either of the following forms indicating an inclusive range: uidrange uid
Once a client has mounted the spool directory by using NFS and has transferred print data to a file in this directory, the client issues a PCNFSD_PR_START or PCNFSD2_PR_START request. The pcnfsd daemon handles this, and most other print-related requests, by constructing a command based on the printing services of the server operating system and by executing the command using the identity of the PC user. Since this involves set-user-id privileges, pcnfsd must be run as root.
Every print request from the client includes the name of the printer which is to be used. This name corresponds to a printer definition in the /etc/printcap database. If you want to define a nonstandard way of processing print data, you should define a new printer and arrange for the client to print to this printer. There are two ways of setting up a new printer. The first involves the addition of an entry to /etc/printcap and the creation of filters to perform the required processing. This is outside the scope of this discussion. In addition, pcnfsd includes a mechanism by which you can define virtual printers known only to pcnfsd clients. Each printer is defined by a line in the /etc/pcnfsd.conf file of the following format:
printer name alias-for command
The printer test is used only for testing. Any file sent to this printer will be copied into /usr/tmp. Any request to list the queue, check the status, and so on of printer test will be rejected because the alias-for has been specified as a dash (-).
The pcnfsd configuration file.
Commands: lp(1), lpq(1), lpstat(1) delim off