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. -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 (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; NFSSERVER(8) NFSSERVER(8) 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. The options for 9auth are: -D Debug flag. -r root Authenticate to the file system at root (default /n/emelie). -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. NFSSERVER(8) NFSSERVER(8) FILES /lib/ndb/nfs List of uid/gid maps. /sys/log/nfs Log file. SOURCE /sys/src/cmd/9nfs /sys/src/cmd/9nfs/9auth.c BUGS 9auth user does not work if the Unix uid running 9auth is not the uid corresponding to user in the password file spec- ified by /lib/ndb/nfs. 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.