Nfs translates between the Sun network file system protocol (NFS)
and 9P, allowing 9P clients to mount file systems on NFS servers.
NFS servers comprise two separate services: a mount service used
to obtain the initial file handle, and a file service used to
perform actual file system operations. The Sun port mapper
service is typically used to find these two services. If one address
is given, it is taken to be the address of a port mapper service;
nfs queries the port mapper to find the addresses of the NFS mount
service and file service. If two addresses are given, the port
mapper is bypassed; addr1 is used as the address of the NFS
mount service, and addr2 is used as the address of the file service.
The options are:
–D print all 9P messages.
–R print all NFS messages.
–v print verbose information about session startup.
set the posted service file to have mode perm, which is assumed
to be octal; the default is 600.
u passwd group
post the service as /srv/srvname; the default is /srv/addr1.
Portmap and nfsmount are test programs to perform port mapper
and NFS mount RPCs. They are useful mainly to help debug problems
with starting nfs itself. The –R option causes them to print all
RPC messages sent and received.
translate user and group names using the passwd and group files,
which are in the traditional Unix format. The translation is used
to present names for user and group in stat(5) and wstat messages.
The translation is also used to choose the user and group credentials
to present for a user. Without this option,
users and groups are presented as decimal numbers, and everyone
attaches as uid –1 (nobody on most Unix systems).
Portmap queries a Sun RPC portmap server, which maps integer (program,
version, protocol) triples to port numbers. Program and version
are Sun RPC defined, while protocol is typically TCP (6) or UDP
(17). The commands are:
dumpprint the entire map
set prog vers proto port
unset prog vers proto port
add an entry to (or replace an entry in) the map
getport prog vers proto
remove an entry from the map
Nfsmount queries a Sun NFS mount server, which authenticates (ha!)
connections and hands out file handles naming the root of an exported
file system. This handle is used as the basis for a conversation
with the NFS service daemon itself. The commands are:
look for an entry with prog, vers, proto in the map, and return
the corresponding port The default command is dump. For running
NFS over UDP, there must be an entry for the NFS v3 mount daemon
(100005, 3, 17) and the NFS v3 server itself (100003, 3, 17).
dump the export table; each line is a path followed by a list
of machines or groups allowed to mount that path
attempt to acquire a file handle for path. the request has user
and group id 1001 and gnot as the system name.
notify the mount daemon that a particular path is being unmounted
by the requesting system
dumpshould also dump an export table, but typically does nothing
notify the mount daemon that all paths mounted by the requesting
system are being unmounted