处理从 PC-NFS(个人计算机网络文件系统)客户机来的服务请求。
/usr/sbin/rpc.pcnfsd
rpc.pcnfsd 守护程序处理从 PC-NFS 客户机来的远程机器上的认证服务请求。这些服务包括安装和打印假脱机的认证。PC-NFS 程序允许个人计算机运行 DOS 跟运行 NFS 的机器联网。rpc.pcnfsd 守护程序支持 pcnfsd 协议的版本 1 和 2。
当 PC-NFS 客户机产生请求时,inetd 守护程序启动 rpc.pcnfsd 守护程序(如果 inetd.conf 文件包含适当的条目的话)。rpc.pcnfsd 守护程序读取 /etc/pcnfsd.conf 配置文件(如果存在),然后为定向到程序号 150001 的 RPC 请求提供服务。rpc.pcnfsd 守护程序启动后,所有打印请求就到缺省假脱机目录(/var/spool/pcnfs)。
当它收到 PCNFSD_AUTH 或 PCNFSD2_AUTH 请求时,rpc.pcnfsd 守护程序通过首先验证用户名和密码,然后返回相应的用户 ID(UID)、组 ID(GIDS)、主目录和 umask 规范来使用户登录进来。登录记录附加到 /var/adm/wtmp 文件。要禁用登录记录功能,添加以下的行到 /etc/pcnfsd.conf 文件:
wtmp off
rpc.pcnfsd 守护程序使用网络文件系统(NFS)来传输在客户机和服务器间的打印数据。客户机系统首先发出PCNFSD_PR_INIT 或 PCNFSD2_PR_INIT 请求。服务器然后返回客户机使用的假脱机目录路径。
rpc.pcnfsd 守护程序为它的每个客户机创建一个子目录。缺省父目录为 /var/spool/pcnfs,而子目录为客户机系统的主机名。要使用不同的父目录,添加以下的行到 /etc/pcnfsd.conf 文件:
spooldir Pathname
当安装了假脱机目录且打印数据传输到此目录下的文件中时,客户机发出 PCNFSD_PR_START 或 PCNFSD2_PR_START 请求。rpc.pcnfsd 守护程序通过构造enq 命令来处理本请求(和大部分其它的相关打印请求)。守护程序采用个人计算机用户的身份来执行打印请求命令。由于构造和执行此命令涉及到用户 ID 特权,rpc.pcnfsd 守护程序必须作为 root 进程运行。
所有从客户机来的打印请求包括要使用的打印机名。打印机名由在 /etc/qconfig 文件中定义的队列和设备表示。此外,rpc.pcnfsd 守护程序提供一种定义只有 rpc.pcnfsd 客户机能标识的 PC-NFS 虚拟打印机的方法。在 /etc/pcnfsd.conf 文件中以类似于下面这行来定义每个 PC-NFS 虚拟打印机:
printer Name AliasFor Command
在此格式中,Name 指定要定义的打印机名,而 AliasFor 为将要工作的现有的打印机名。例如,要显示 Name 队列的请求转换为在 AliasFor 打印机上的队列命令。使用单个 -(减号)替换 AliasFor 参数以在没有现有打印机的情况下定义打印机 Name。Command 参数指定在 Name 上打印一个文件时运行的命令。Bourne 命令解释程序使用 -c 选项来执行本命令。对于复杂的操作用一个可执行的 shell 脚本来替换 Command 参数。
下列标记和替换值列表可被用在 Command 参数中:
标记 | 替换值 |
---|---|
$FILE | 打印数据文件的全路径名。命令执行后断开文件链接。 |
$USER | 登录到客户机的用户的用户名。 |
$HOST | 客户机系统的主机名。 |
以下示例 /etc/pcnfsd.conf 文件在第一行配置虚拟打印机而在第二行配置空测试设备:
printer rotated lw /bin/enscript -2r $FILE printer test - /usr/bin/cp $FILE /usr/tmp/$HOST-$USER
第一行规定如果客户机系统在 rotated 打印机上打印一个作业,将调用 enscript 实用程序来预处理 $FILE 文件。-2r 选项使得文件在缺省 PostScript 打印机上以两列并且循环的格式来打印。如果客户机请求 rotated 打印机的打印队列的列表,rpc.pcnfsd 守护程序转换此请求为 lw 打印机的相似列表的请求。
第二行建立一个打印机测试。送到 test 打印机的文件被复制到 /usr/tmp 目录。由于指定了 -(减号)来替换 AliasFor 参数,因此拒绝请求 test 打印机列出队列、检查状态或执行类似的打印机操作。
/etc/inetd.conf | 包含启动 RPC 守护程序和其它 TCP/IP 守护程序的 TCP/IP 配置文件。 |
/etc/pcnfsd.conf | 包含 rpc.pcnfsd 守护程序配置文件。 |
/var/spool/pcnfs | 包含缺省打印假脱机目录。 |
inetd 守护程序。
umask 子例程。
在《AIX 5L V5.2 系统管理指南:通信与网络》中的『系统管理网络文件系统(NFS)概述』。
在 AIX 5L Version 5.2 Guide to Printers and Printing 中的 Printer Overview for System Management。
在《AIX 5L V5.2 系统管理指南:通信与网络》中的『NFS 命令列表』。