Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Apropos / Subsearch:
optional field

 pcnfsd(1M)							  pcnfsd(1M)

      pcnfsd - PC-NFS authentication and print request server


      pcnfsd is an RPC server that supports ONC clients on PC (DOS, OS/2,
      Macintosh, and other) systems.  This describes version two of the
      pcnfsd server.

      pcnfsd can be started from the /sbin/init.d/nfs.server startup script
      by setting the PCNFS_SERVER variable to 1 in /etc/rc.config.d/nfsconf,
      or from the inetd daemon (see inetd(1M)).	 It reads the configuration
      file /etc/pcnfsd.conf, if present, and services RPC requests directed
      to program number 150001.	 The pcnfsd daemon now supports 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 categories have administrative significance.

      When pcnfsd receives a PCNFSD_AUTH or PCNFSD2_AUTH request, it will
      "log in" the user by validating the user name and password, returning
      the corresponding user ID, group IDs, home directory, and umask.	It
      will also append a record to the wtmp data base (see wtmp(4)).  If you
      do not want PC "logins" recorded in this way, add a line to the
      /etc/pcnfsd.conf file in the form:

	   wtmp off

      By default, pcnfsd will only allow authentication or print requests
      for users with user IDs in the range 101 to 60002 (this corresponds,
      in SVR4, to the range for nonsystem accounts).  To override this, add
      a line to the /etc/pcnfsd.conf file in the form:

	   uidrange range [, range ]...

      where each range is a user ID number in the form


      or an inclusive range of user ID numbers in the form


      NOTE: pcnfsd will deny authentication if the /etc/shells file is
      incorrectly setup.

 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000

 pcnfsd(1M)							  pcnfsd(1M)

      pcnfsd supports a printing model that uses NFS to transfer 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 is exported by NFS for use by the
      client.  pcnfsd creates a subdirectory for each client.  By default,
      the parent directory is /var/spool/pcnfs, and the name of each
      subdirectory is the same as its client's host name.  To use a
      different parent directory, add a line to the /etc/pcnfsd.conf file in
      the form:

	   spooldir path

      Once a client has mounted the spool directory using NFS, and
      transferred print data to a file in that directory, it will issue a
      PCNFSD_PR_START or PCNFSD2_PR_START request.  pcnfsd handles most
      print-related requests by constructing a command based on the printing
      services of the server's operating system, and executing that command
      using the identity of the PC user.  Because this involves set-user-ID
      privileges, pcnfsd must be run as root.

      Every print request from a client includes the name of the printer to
      be used.	This name corresponds to a printer that has been configured
      into the line printer spooling system using the lpadmin command.

      To process print data in a special way (for example, to print it in
      landscape mode, or to print it in duplex mode), define a new printer
      and arrange for the client to print to that printer.  There are two
      ways to define the new printer:

	   +  You can add a new printer to the line printer spooling system
	      that uses a different printer model script, and arrange for
	      the client to use the new printer.  Do this using the lpadmin
	      command (see lpadmin(1m)).

	   +  pcnfsd includes a mechanism to define virtual printers known
	      only to pcnfsd clients.  Each of these printers is defined by
	      an entry in the file /etc/pcnfsd.conf using the following

		   printer name alias-for command

	      with the following values:

		   name		  The name of the printer, as it will be
				  referred to in print requests from

		   alias-for	  The corresponding name for the printer, as
				  it is defined in the line printer spooling
				  system.  For example, a request to display

 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000

 pcnfsd(1M)							  pcnfsd(1M)

				  the queue for name will be translated into
				  the corresponding request for the printer
				  alias-for.  If you have defined a printer
				  within pcnfsd that has no corresponding
				  printer defined in the line printer
				  spooling system, use a single hyphen (-)
				  for this field.  For an example, see the
				  definition of the printer test in the
				  examples section, below.

		   command	  A command that will be executed whenever a
				  file is printed on name.  This command is
				  executed by the POSIX shell, /usr/bin/sh
				  using the -c option.	For complex
				  operations, construct an executable shell
				  program and execute 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 user name
						 of the user logged in to
						 the client system.

				       $HOST	 Replaced by the host name
						 of the client system.

      By checking the modification time (and contents) of the file
      /var/spool/lp/pstatus, pcnfsd will detect when printers have been
      added or deleted, and will rebuild its list of valid printers.
      However, pcnfsd does not monitor the file /etc/pcnfsd.conf for
      updates; if you change this file, you must kill and restart pcnfsd for
      the changes to take effect.

      Given the following entries for the file /etc/pcnfsd.conf:

	   printer abc lj lp -dlj -oraw
	   printer test - /usr/bin/cp $FILE /usr/tmp/$HOST-$USER

      If a user on a client system prints a job on printer abc, the request
      will be sent to destination lj in raw mode.

 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000

 pcnfsd(1M)							  pcnfsd(1M)

      If the client requests a list of the print queue for printer abc, the
      pcnfsd daemon will translate this into a request for a listing for
      printer lj.

      Printer test is used only for testing.  Any file sent to this printer
      will be copied into the directory /usr/tmp.  Any request to list the
      queue, check the status, etc., of printer test will be rejected
      because alias-for has been specified as a hyphen (-).


      lp(1), lpstat(1), inetd(1M), lpadmin(1M), wtmp(4).

 Hewlett-Packard Company	    - 4 -   HP-UX Release 11i: November 2000