NFSSERVER(8) System Manager's Manual NFSSERVER(8)
NAME
nfsserver, portmapper, pcnfsd, 9auth - NFS service
SYNOPSIS
aux/nfsserver [ rpc-options... ] [ nfs-options... ]
aux/pcnfsd [ rpc-options... ]
aux/portmapper [ rpc-options... ]
9auth [ auth-options ] user
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. 9auth is run by a user on a client machine--usually a Unix system, never Plan 9--for optional per-user
authentication. By default, all users on client machines have the access privileges of the Plan 9 user
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 or 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.
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 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 and IP address given in the NFS mount request must match the entry
in the database.
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.
The options for 9auth are:
-D Debug flag.
-r root Authenticate to the file system at root (default /n/bootes).
-d Delete the authorization for user.
In the absence of -d, 9auth will present a challenge to be encrypted with the user's Plan 9 password (using netkey, for example; see
passwd(1)). If the response is correct, subsequent NFS transactions will take place with the user's privileges.
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/service/nfs
/sys/src/cmd/unix/9auth.c
SEE ALSO
Netkey in passwd(1), regexp(6), u9fs(4)
RFC1057, RPC: Remote Procedure Call Protocol Specification, Version 2.
RFC1094, NFS: Network File System Protocol Specification.
NFSSERVER(8)