pcnfsd(8)pcnfsd(8)NAME
pcnfsd, rpc.pcnfsd - The (PC)NFS authentication and print request
server
SYNOPSIS
/usr/sbin/pcnfsd
DESCRIPTION
The pcnfsd daemon is an server that supports ONC clients on PC (DOS,
OS/2, Macintosh, and other) systems. This reference page describes Ver‐
sion 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 appro‐
priate question. The pcnfsd daemon reads the /etc/pcnfsd.conf configu‐
ration file if present, and then services RPC requests directed to pro‐
gram 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: authentica‐
tion, printing, and other. Only the authentication and printing ser‐
vices have administrative significance.
AVAILABILITY
This program can be redistributed freely.
AUTHENTICATION
When pcnfsd receives a PCNFSD_AUTH or PCNFSD2_AUTH request, it “logs
in” the user by validating the user name and password and returning the
corresponding UID, GIDs, home directory, and umask.
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
uidrange uid-uid
PRINTING
The pcnfsd daemon supports a printing model based on the use of NFS to
transfer the actual print data from the client to the server. The
client system issues a PCNFSD_PR_INIT or PCNFSD2_PR_INIT request, and
the server returns the path to a spool directory that the client can
use and that is exported by NFS. The pcnfsd daemon creates a subdirec‐
tory for each of its clients: the parent directory is normally
/usr/spool/pcnfs and the subdirectory is the host name of the client
system. You must also export the /usr/spool/pcnfs directory to the PC
clients. If you want to use a different parent directory, add a line
of the following format to the /etc/pcnfsd.conf file: spooldir path
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/print‐
cap 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 name variable is the name of the printer you want to define and the
alias-for variable is the name of a ``real'' printer that corresponds
to this printer. For example, a request to display the queue for name
is translated into the corresponding request for the printer alias-for.
If you have defined a printer in such a way that there is no “real”
printer to which it corresponds, use a single dash (-) for this field.
(See the definition of the printer test below for an example.) The
command variable is a command that will be executed whenever a file is
printed on name. This command is executed by the Bourne shell, /bin/sh,
using the -c option. For complex operations you should construct an
executable shell program and invoke that in command. Within command,
the following tokens will be replaced:
Token Substitution
$FILE Replaced by the full pathname of the print data file.
When the command has been executed, the file will be
unlinked.
$USER Replaced by the user name of the user logged in to the
client system.
$HOST Replaced by the host name of the client system.
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 (-).
FILES
The pcnfsd configuration file.
SEE ALSO
Commands: lp(1), lpq(1), lpstat(1)pcnfsd(8)