summaryrefslogtreecommitdiff
path: root/sys/man/4/nfs
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 16:49:47 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 16:49:47 +0300
commitb41b9034225ab3e49980d9de55c141011b6383b0 (patch)
tree891014b4c2e803e01ac7a1fd2b60819fbc5a6e73 /sys/man/4/nfs
parentc558a99e0be506a9abdf677f0ca4490644e05fc1 (diff)
Import sources from 2011-03-30 iso image - sys/man
Diffstat (limited to 'sys/man/4/nfs')
-rwxr-xr-xsys/man/4/nfs210
1 files changed, 210 insertions, 0 deletions
diff --git a/sys/man/4/nfs b/sys/man/4/nfs
new file mode 100755
index 000000000..b1499bb3c
--- /dev/null
+++ b/sys/man/4/nfs
@@ -0,0 +1,210 @@
+.TH NFS 4
+.SH NAME
+nfs \- Sun network file system client
+.SH SYNOPSIS
+.B nfs
+[
+.B -DRv
+]
+[
+.B -p
+.I perm
+]
+[
+.B -s
+.I srvname
+]
+[
+.B -u
+.I passwd
+.I group
+]
+.I addr1
+[
+.I addr2
+]
+.PP
+.B aux/portmap
+[
+.B -R
+]
+.I host
+.I cmd
+...
+.PP
+.B aux/nfsmount
+[
+.B -R
+]
+.I host
+.I cmd
+...
+.SH DESCRIPTION
+.I 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;
+.I 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;
+.I addr1
+is used as the address of the NFS mount service,
+and
+.I addr2
+is used as the address of the file service.
+.PP
+The options are:
+.TP
+.B -D
+print all 9P messages.
+.TP
+.B -R
+print all NFS messages.
+.TP
+.B -v
+print verbose information about session startup.
+.TP
+.B -p \fIperm
+set the posted service file to have mode
+.IR perm ,
+which is assumed to be octal;
+the default is
+.BR 600 .
+.TP
+.B -s \fIsrvname
+post the service as
+.BI /srv/ srvname \fR;
+the default is
+.BI /srv/ addr1 \fR.
+.TP
+.B -u \fIpasswd\fR \fIgroup
+translate user and group names using the
+.I passwd
+and
+.I group
+files, which are in the traditional Unix format.
+The translation is used to present names for
+user and group in
+.IR stat (5)
+and
+.I 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
+.RB ( nobody
+on most Unix systems).
+.PP
+.I Portmap
+and
+.I nfsmount
+are test programs to perform port mapper and NFS mount RPCs.
+They
+are useful mainly to help debug problems with
+starting
+.I nfs
+itself.
+The
+.B -R
+option causes them to print all RPC messages sent and received.
+.PP
+.I 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:
+.TP
+.B null
+a no-op
+.TP
+.B dump
+print the entire map
+.TP
+.B set \fIprog\fP \fIvers\fP \fIproto\fP \fIport\fP
+add an entry to (or replace an entry in) the map
+.TP
+.B unset \fIprog\fP \fIvers\fP \fIproto\fP \fIport\fP
+remove an entry from the map
+.TP
+.B getport \fIprog\fP \fIvers\fP \fIproto\fP
+look for an entry with \fIprog\fP, \fIvers\fP, \fIproto\fP
+in the map, and return the corresponding port
+.PD
+The default command is
+.BR 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).
+.PP
+.I 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:
+.TP
+.B null
+a no-op
+.TP
+.B export
+dump the export table;
+each line is a path followed by a list of machines or groups
+allowed to mount that path
+.TP
+.B mnt \fIpath\fR
+attempt to acquire a file handle for \fIpath\fR.
+the request has user and group id 1001 and
+.L gnot
+as the system name.
+.TP
+.B umnt \fIpath\fR
+notify the mount daemon that a particular path is being
+unmounted by the requesting system
+.TP
+.B umntall
+notify the mount daemon that all paths mounted by the
+requesting system are being unmounted
+.TP
+.B dump
+should also dump an export table, but typically
+does nothing
+.PD
+.SH EXAMPLE
+We use this in our
+.B /rc/bin/9fs
+script to mount all the home directories served by
+.IR bopp :
+.IP
+.EX
+case bopp
+ if(! test -f /srv/bopp)
+ nfs -p 666 -u /lib/ndb/1127.passwd /lib/ndb/1127.group bopp
+ unmount /n/bopp >[2]/dev/null
+ for(i in u0 u1 u2 u3 u4 u5 u6 u7 u8 u9)
+ mount -a /srv/bopp /n/bopp /$i
+.EE
+.SH SOURCE
+.B /sys/src/cmd/nfs.c
+.br
+.B /sys/src/libsunrpc
+.SH "SEE ALSO
+.IR nfsserver (8),
+.IR srv (4)
+.SH BUGS
+The authentication employed by NFS is laughable.
+The server simply trusts the uid, gid, and group list
+presented by the client.
+.PP
+.I Nfs
+speaks only NFS version 3.
+Older operating systems typically
+have reasonable NFS version 2 servers
+but crash when serving version 3.