pcnfsd(NADM) 19 June 1992 pcnfsd(NADM) Name pcnfsd - NFS authentication and print request server Syntax /etc/pcnfsd Description pcnfsd is an RPC server that supports ONC clients on PC (DOS, OS/2, Macintosh, and other) systems. This manual page describes version two of the pcnfsd server. pcnfsd is started from /etc/nfs. It reads the configuration file /etc/pcnfsd.conf 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: authentica- tion, printing, and other. Only the authentication and printing services have administrative significance. Authentication When pcnfsd receives a PCNFSDAUTH or PCNFSD2AUTH request*, it will ``log in'' the user by validating the username and password and returning the corresponding uid, gids, home directory, and umask. At this time, pcnfsd will also append a record to the wtmp(F) data base. If you do not wish to record PC ``logins'' in this way, you should add a line of the form wtmp off to the /etc/pcnfsd.conf file. Printing pcnfsd 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 PCNFSDPRINIT or PCNFSD2PRINIT request, and the server returns the path to a spool directory which the client may use and which is exported by NFS. pcnfsd creates a subdirectory for each of its clients: the parent directory is normally /usr/spool/pcnfs and the subdirectory is the hostname of the client system. If you wish to use a different parent directory, you should add a line of the form spooldir path to the /etc/pcnfsd.conf file. Once a client has mounted the spool directory using NFS and has transferred print data to a file in this directory, it will issue a PCNFSDPRSTART or PCNFSD2PRSTART request. pcnfsd handles this, and most other print-related requests, by constructing a command based on the printing services of the server operating system and executing the com- mand 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. pcnfsd interprets a printer as either a destination serviced by the system print spooler, or as a virtual printer. Setting up the system print spooler to handle a new printer is described on the lpadmin(ADM) manual page. Virtual printers, known only to pcnfsd clients, are defined by a line in the /etc/pcnfsd.conf file of the fol- lowing form: printer name alias-for command name is the name of the printer you want to define. alias-for is the name of a ``real'' printer which corresponds to this printer. For example, a request to display the queue for name will be translated into the corre- sponding 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 ``-'' for this field. (See the definition of the printer test below for an example.) command is a command which 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 path name of the print data file. When the command has been executed, the file will be unlinked. $USER replaced by the username of the user logged in to the client system $HOST replaced by the host name of the client system Consider the following example /etc/pcnfsd.conf file: printer rotated lw /usr/local/bin/enscript -2r $FILE printer test - /usr/bin/cp $FILE usr/tmp/$HOST-$USER If a client system prints a job on the printer rotated, the utility enscript will be invoked to pre-process the file $FILE. In this case, the -2r option causes the file to be printed in two-column rotated format on the default PostScript® printer. If the client requests a list of the print queue for the printer rotated, the pcnfsd daemon will translate this into a request for a listing for the printer lw. 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, etc. of printer test will be rejected because the alias-for has been specified as ``-''. Files /etc/pcnfsd.conf See also lp(C), lpstat(C), cancel(C), passwd(C)