Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pcnfsd(NADM) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

lp(C)

lpstat(C)

cancel(C)

passwd(C)


 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)


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026