Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (8) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

nfs(4)

NFSSERVER(8)

NAME

nfsserver, portmapper, pcnfsd − 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.  Currently only NFS version 2 is served. 

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 (default and mandatory). 

-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).

­-s Expect a network connection on file descriptor 1 instead of listening for incoming calls. 

­-t Listen for incoming TCP calls, rather than UDP calls. 

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 tcp!pie -a tcp!yoshimi -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:pie /n/pie
/etc/mount -o soft,intr eduardo:yoshimi /n/yoshimi

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

nfs(4)
RFC1057, ­RPC: Remote Procedure Call Protocol Specification, Version 2, describes Sun’s RPC protocol. 
RFC1094, ­NFS: Network File System Protocol Specification, describes NFS version 2. 
RFC1813, ­NFS Version 3 Protocol Specification. 
RFC3530, ­Network File System (NFS) version 4 Protocol. 

Plan 9  —  February 14, 2009

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