Search all pages
Professions, Sciences, Humanities, Business, ...
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Conversions, tests, processing, manipulation,...
Integer, Floating point, Matrix, Statistics, Boolean, ...
Algorithms, Memory, Process control, Debugging, ...
Data storage, Integrity, Encryption, Compression, ...
Networks, protocols, Interprocess, Remote, Client Server, ...
Timing, Calendar and Clock, Audio, Video, Printer, Controls...
Management, Filtering, File & Directory access, Viewers, ...
RocketLink!--> Man page versions:
pcnfsd - (PC)NFS authentication and print request server
This program probably contains 5 to 6 security holes in it
(it has been diagnosed to have a few, but they were not
yet been fixed). Use it at your own risk.
pcnfsd is an RPC server that supports Sun ONC clients on
PC (DOS, OS/2, Macintosh, and other) systems. This page
describes version two of the pcnfsd server.
rpc.pcnfsd may be started from /etc/rc.local or by the
inetd(8) superdaemon. 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. Consult the rpcgen source file
pcnfsd.x for details of the protocols.
The requests serviced by pcnfsd fall into three cate-
gories: authentication, printing, and other. Only the
authentication and printing services have administrative
When pcnfsd receives a PCNFSD_AUTH or PCNFSD2_AUTH
request, it will "log in" the user by validating the user-
name and password and returning the corresponding uid,
gids, home directory, and umask. If pcnfsd was built with
the WTMP compile-time option, it will also append a record
to the wtmp(5) data base. If you do not wish to record PC
"logins" in this way, you should add a line of the form
to the /etc/pcnfsd.conf file.
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 PCNFSD_PR_INIT or PCN-
FSD2_PR_INIT 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
/export/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
25 April 1991 1
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 direc-
tory, it will issue a PCNFSD_PR_START or PCNFSD2_PR_START
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 exe-
cuting 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. In SunOS, this name cor-
responds to a printer definition in the /etc/printcap(5)
database. If you wish to define a non-standard way of pro-
cessing 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/printcap(5) and the cre-
ation of filters to perform the required processing. This
is outside the scope of this discussion. In addition, pcn-
fsd 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 fol-
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 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 "-" for this field. (See the
definition of the printer test below for an example.) com-
mand 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 pro-
gram and invoke that in command. Within command the fol-
lowing tokens will be replaced:
$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
25 April 1991 2
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
printer test - /usr/bin/cp $FILE
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(R) 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
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
/etc/pcnfsd.conf configuration file
/export/pcnfs default print spool directory
The pcnfsd source code is distributed by Sun Microsystems,
Inc. with their PC/NFS product under terms described in
common.h in that source code. Those terms require that
you be informed that this version of pcnfsd was modified
to run on NetBSD and is NOT supported by Sun.
25 April 1991 3
Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY
SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts
Institute of Technology, Free Software Foundation, FreeBSD Inc., and others.
(Corrections, notes, and links courtesy of RocketAware.com)
OpenBSD sources for pcnfsd(8)
Up to: Printing and Printer Interface
Up to: File Transfer and Distribution - Protocols and Methods of transfering files and directories, distributing and installing software. (file collections and archives, FTP, cvsup, NFS, et al.)
RocketLink!--> Man page versions:
Search | About | Comments | Submit Path: RocketAware > man pages >
RocketAware.com is a service of Mib Software
Copyright 1999, Forrest J. Cavalier III. All Rights Reserved.
We welcome submissions and comments