Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (8) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

NFSSERVER(8)

NAME

nfsserver, portmapper, pcnfsd, 9auth − NFS service

SYNOPSIS

­aux/nfsserver [ ­rpc-options...  ] [ ­nfs-options...  ]
­aux/pcnfsd [ ­rpc-options...  ]
­aux/portmapper [ ­rpc-options...  ]

DESCRIPTION

These programs collectively provide NFS access to Plan 9 file servers.  Nfsserver, pcnfsd, and ­portmapper run on a Plan 9 CPU server, and should be started in that order.  All users on client machines have the access privileges of the Plan 9 user none. 

The ­rpc-options are all intended for debugging:

­-r Reject: answer all RPC requests by returning the ­AUTH_TOOWEAK error. 

­-v Verbose: show all RPC calls and internal program state, including 9P messages.  (In any case, the program creates a file /srv/name.chat where ­name is that of the program; echoing ­1 or ­0 into this file sets or clears the ­-v flag dynamically.) 

­-D Debug: show all RPC messages (at a lower level than -v).  This flag may be repeated to get more detail. 

­-C Turn off caching: do not answer RPC requests using the RPC reply cache. 

The ­nfs-options are:

-a addr Set up NFS service for the 9P server at network address addr.

-f file Set up NFS service for the 9P server at ­file (typically an entry in /srv). 

­-n Do not allow per-user authentication. 

-c file ­File contains the uid/gid map configuration.  It is read at startup and subsequently every hour (or if ­c is echoed into /srv/nfsserver.chat).  Blank lines or lines beginning with ­# are ignored; lines beginning with ­!  are executed as commands; otherwise lines contain four fields separated by white space: a regular expression (in the notation of regexp(6)) for a class of servers, a regular expression for a class of clients, a file of user id’s (in the format of a Unix password file), and a file of group id’s (same format).

NFS clients must be in the Plan 9 ­/lib/ndb database.  The machine name is deduced from the IP address via ndb/query.  The machine name specified in the NFS Unix credentials is completely ignored. 

­Pcnfsd is a toy program that authorizes PC-NFS clients.  All clients are mapped to uid=1, gid=1 (daemon on most systems) regardless of name or password. 

EXAMPLES

A simple ­/lib/ndb/nfs might contain:

!9fs tcp!ivy
.+  [^.]+\.cvrd\.hall\.edu  /n/ivy/etc/passwd  /n/ivy/etc/group

A typical entry in ­/rc/bin/cpurc might be:

aux/nfsserver -a il!bootes -a il!fornax -c /lib/ndb/nfs
aux/pcnfsd
aux/portmapper

Assuming the cpu server’s name is eduardo, the mount commands on the client would be:

/etc/mount -o soft,intr eduardo:bootes /n/bootes
/etc/mount -o soft,intr eduardo:fornax /n/fornax

Note that a single instance of ­nfsserver may provide access to several 9P servers. 

FILES

­/lib/ndb/nfs
List of uid/gid maps.

­/sys/log/nfs
Log file.

SOURCE

­/sys/src/cmd/9nfs

BUGS

It would be nice to provide authentication for users, but Unix systems provide too low a level of security to be trusted in a Plan 9 world. 

SEE ALSO

RFC1057, ­RPC: Remote Procedure Call Protocol Specification, Version 2. 
RFC1094, ­NFS: Network File System Protocol Specification. 

Plan 9  —  March 27, 2002

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