NFSSERVER(8)                                         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 `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.

          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 (typi-
                   cally 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

     Page 1                       Plan 9            (printed 12/21/24)

     NFSSERVER(8)                                         NFSSERVER(8)

                   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, subse-
          quent NFS transactions will take place with the user's priv-
          ileges.

     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 com-
          mands 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.

     Page 2                       Plan 9            (printed 12/21/24)

     NFSSERVER(8)                                         NFSSERVER(8)

     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.

     Page 3                       Plan 9            (printed 12/21/24)