From: curt@ekhadafi.austin.ibm.com (Curt Finch 903 2F021 curt@aixwiz.austin.ibm.com 512-838-2806)
Subject: Re: PCNFSD-2 implementation for AIX?
Date: Mon, 21 Dec 1992 22:01:05 GMT
Organization: IBM AWD, Austin

In article <1992Dec21.140126.27697@bmw.mayo.edu> fisk@mayo.edu writes:
>
>Is there a PCNFSD-2 implementation for AIX V3.2?  If so, how does one go about
>acquiring it?

Order IX32823 from defect support.  It has the newest pcnfsd v2 which
works with PCNFSv4 on the PC.

Here are the docs that go with it......


-----------------------------------------------------------------------

Two documents follow.  The first describes the new port of the pcnfsd
daemon.  The second describes it's configuration file, the
/etc/pcnfsd.conf file.

The most important thing to note is that pcnfsd no longer has arguments
on the command line.  They are now in the /etc/pcnfsd.conf file.

This documentation should be distributed to anyone who is receiving or
has received the latest version of pcnfsd in any of the following PTFs
for 3.2:

	U412556 U409761 U413311

-----------------------------------------------------------------------
pcnfsd Daemon


	Purpose

Handles service requests from PC-NFS (Personal Computers Network File
System) clients.


	Syntax

/usr/sbin/rpc.pcnfsd


	Description

The pcnfsd daemon handles requests from PC-NFS clients for
authentication services on remote machines.  These services include
authentication for mounting and for print spooling.  The PC-NFS program
allows personal computers running DOS to be networked with machines
running NFS. The pcnfsd daemon supports Versions 1 and 2 of the pcnfsd
protocol.

When a PC-NFS client makes a request, the inetd daemon starts the
pcnfsd daemon (if the  inetd.conf file contains the appropriate
entry).  The pcnfsd  daemon reads the  /etc/pcnfsd.conf configuration
file, if present, then services RPC requests directed to program number
150001.   Once the pcnfsd daemon is started, all print requests go to
the default print spooling directory  (/var/spool/pcnfs) .


	Authentication

When it receives a PCNFSD_AUTH or PCNFSD2_AUTH  request, the pcnfsd
daemon logs in a user by first validating the user name and password,
and then returning the corresponding UID, GIDS, home directory, and
umask specifications.  A record of logins is appended to the
/var/adm/wtmp file.  To disable the login record feature, add the
following line to the /etc/pcnfsd.conf file:

wtmp off


	Printing

The pcnfsd daemon uses the Network File System (NFS) to transfer print
data between clients and servers.  The client system first issues a
PCNFSD_PR_INIT or PCNFSD2_PR_INIT request.  The server then returns the
spool directory path for the client to use.

Note: The spool directory must be exported by NFS, using the  exportfs
command and the  /etc/exports file.

The pcnfsd daemon creates a subdirectory for each of its clients.  The
default parent directory is /var/spool/pcnfs , and the subdirectory is
the host name of the client system.  To use a different parent
directory, add the following line to the /etc/pcnfsd.conf file:

spooldir pathname



Once it has mounted the spool directory and 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 an   enq command.  The
daemon adopts the identity of the personal computer user to execute the
print request command.  Since constructing and executing the command
involves user ID privileges, the pcnfsd daemon must be run as a root
process.

All print requests from clients include the name of the printer to be
used.  The printer name is represented by queue and device definitions
in the /etc/qconfig file.  Additionally, the pcnfsd daemon provides a
method for defining PC-NFS virtual printers recognized only by pcnfsd
clients.  Each PC-NFS virtual printer is defined in the
/etc/pcnfsd.conf  file with a line similar to the following:

printer name alias-for command

In this format, name  specifies the name of the printer to be defined,
and alias-for is the name of an existing printer that will do the
work.  For example, a request to show the queue for name will translate
into a queue command at the alias-for printer.  To define a printer
name with no existing printer, use a single - (minus sign) in place of
the alias-for parameter.  The command parameter specifies a command run
when a file is printed on the name printer.  This command is executed
by the Bourne shell, using the -c option.  For complex operations,
replace the command parameter with an executable shell script.

The following list of tokens and substitution values can be used in the
command parameter:


	Token Substitution

$FILE Replaced by the full path name of the print data file.  After the
command has executed, the file is unlinked.

$USER Replaced by the user name of the user logged-in to the client.

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


	Example

The following example /etc/pcnfsd.conf file configures a virtual
printer on the first line and a null device for testing on the second
line:

printer rotated lw /bin/enscript -2r $FILE
printer test - /usr/bin/cp $FILE /usr/tmp/$HOST-$USER

The first line stipulates that if a client system prints a job on the
rotated  printer, the enscript utility will be called to preprocess the
$FILE file.  The -2r option causes the file to be printed in
two-column, rotated format on the default PostScript printer.  If a
client requests a list of the print queue for the rotated printer, the
pcnfsd daemon translates this request into a request for a similar
listing for the lw  printer.

The second line establishes a printer test.  Files sent to the test
printer will be copied into the /usr/tmp directory.  Requests to the
test printer to list the queue, check the status, or perform similar
printer operations, will be rejected because - (minus sign) is
specified in place of the alias-for parameter.

	Implementation Specifics

This daemon is part of NFS in Network Support Facilities in Base
Operating System (BOS) Runtime.

	Files

/etc/inetd.conf  TCP/IP configuration file that starts RPC daemons and
other TCP/IP daemons.

/etc/pcnfsd.conf pcnfsd daemon configuration file.

/var/spool/pcnfs   Default print-spooling directory.


	Suggested Reading

		Prerequisite Information

Network File  System (NFS) Overview for System Management.

		Related Information

The  enq  command,  last  command.
The   inetd daemon.
Printer  Overview for System Management.
List of NFS Commands.



-----------------------------------------------------------------------
pcnfsd.conf Configuration File


	Purpose

Provides configuration options for the pcnfsd daemon.


	Description

The /etc/pcnfsd.conf file is an ASCII file written by users to add
options to the operation of the  pcnfsd daemon, which takes no
command-line flags.

When started, the pcnfsd daemon checks for the presence of the
pcnfsd.conf  configuration file and conforms its performance to the
specified arguments.  The following options can be entered in the
/etc/pcnfsd.conf file:

aixargs -B CharacterPair : Controls the printing of burst pages
	according to the value of the CharacterPair variable, as listed
	below.  The first character applies to the header and the
	second character to the trailer.  Possible values are n
	(never), a (always), and g (group).

HT Description

nn No headers, no trailers

na No headers, trailer on every file

ng No header, trailer at the end of the job

an Header on every file, no trailers

aa Headers and trailers on every file in the job

ag Header on every file, trailer after job

gn Header at beginning of job, no trailer

ga Header at beginning of job, trailer after every file

gg Header at beginning of job, trailer at end of job.

The header and trailer stanzas in the  /etc/qconfig file define the
default treatment of burst pages.

Note: The -B flag works exactly like the -B  flag in the  enq command.
Unlike the enq command, however, the pcnfsd daemon does not allow
spaces between the -B flag and the CharacterPair variable.


getjobnum off :  Disables the pcnfsd daemon feature that returns job
	numbers when print jobs are submitted.

printer Name AliasFor Command :  Defines a PC-NFS virtual printer,
	recognized only by pcnfsd daemon clients.  Each virtual printer
	is defined on a separate line in the pcnfsd.conf file.

Name Name :  of the PC-NFS virtual printer to be defined.

AliasFor Name :   of an existing printer that performs the print job.

Note: To define a Name printer associated with no existing printer, use
a single - (minus sign) in place of the AliasFor parameter.

Command Command :  run when a file is printed on the Name printer.  This
	command is executed by the Bourne shell, using the -c  option.
	For complex operations, replace the Command parameter with an
	executable shell script.

The following list of tokens and substitution values can be used in the
command parameter:


	Token Substitution

$FILE Replaced by the full path name of the print data file.  After the
command has executed, the file will be unlinked.

$USER Replaced by the user name of the user logged-in to the client.

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

spooldir PathName  Designates a new parent directory, PathName, where
the pcnfsd daemon stores the subdirectories it creates for each of its
clients.  The default parent directory is /var/spool/pcnfs.

wtmp off Disables the login record-keeping feature of the pcnfsd
daemon.  By default, the daemon appends to the   /var/adm/wtmp file a
record of user logins.


	Example

The following sample pcnfsd.conf  configuration file demonstrates the
effects some options have on the operation of the pcnfsd daemon:

printer test - /usr/bin/cp $FILE /usr/tmp/$HOST-$USER
printer sandman san ls -l $FILE
wtmp off

The first line establishes a printer test.  Files sent to the test
printer will be copied into the /usr/tmp directory.  Requests to the
test PC-NFS virtual printer to list the queue, check the status, or
similar printer operations, will be rejected because - (minus sign) has
been given for the Alias-For parameter.

The second line establishes a PC-NFS virtual printer called sandman
that lists, in long form, the file specifications for the print data
file.

The third line turns off the pcnfsd  daemon feature that records user
logins.


	Implementation Specifics

This file is part of NFS in Network Support Facilities in Base
Operating System (BOS) Runtime.


	Files

 /etc/qconfig  Configures a printer queuing system.

/var/adm/wtmp  Describes formats for user and accounting information.


	Suggested Reading

		Prerequisite Information

Network File System (NFS)  Overview for System Management.

		Related Information

The  enq command.
The  pcnfsd  daemon.
Using the Bourne Shell.  
List of NFS Files.

In the LPP bosnet, the following PTFs shipped the following things:


-- 
curt@aixwiz.austin.ibm.com (Curt L. Finch) | AIX NFS/NIS Field Quality 
My views are unrelated to my employer's    |        Austin, TX
 There'll be too many elderly in 30 years for your kids to afford all the FICA.