3 u9fs \- serve 9P from Unix
34 a Plan 9 program. Instead it is a program that
35 serves Unix files to Plan 9 machines using the 9P protocol
38 It is typically invoked on a
41 with its standard input and output connected to a
42 network connection, typically TCP on an Ethernet.
43 It typically runs as user
45 and multiplexes access to multiple Plan 9 clients over the single wire.
46 It assumes Plan 9 uids match Unix login names,
47 and changes to the corresponding Unix effective uid when processing requests.
48 Characters in file and directory names unacceptable to Plan 9 are translated
49 into a three-character sequence:
51 followed by two hexadecimal digits.
53 serves both 9P1 (the 9P protocol as used by
54 the second and third editions of Plan 9) and 9P2000.
57 .TF "\fL-A \fIautharg"
61 Write very chatty debugging output to the log file (see
70 being invoked with a network connection
71 on standard input and output, and thus should
72 not try to determine the remote address of the connection.
80 Truncate the log file on startup. This is useful mainly when debugging
85 Sets the authentication method to be used.
96 library call to authenticate users by entries in
100 This default is discouraged for all but the most controlled networks.
103 turns off authentication altogether.
108 (see examples below, or
114 uses the fourth edition Plan 9 authentication mechanisms.
123 is consulted for the authentication data
124 and should be suitably protected.
125 This file must contain exactly three lines:
127 (plaintext password),
132 (authentication domain).
137 must be taught a key of the form:
141 key proto=p9sk1 dom=\fIplan9-auth.dom\fP user=\fIu9fs-user\fP !password=\fIsecret\fP
146 Used to specify an argument to the authentication method.
147 See the authentication descriptions above.
150 Specifies the file which should contain debugging output
152 The out-of-the-box compile-time default is
163 Treat all attaches as coming from
165 This is useful in some cases when running without
173 will serve only that tree; othwise, it will serve the entire Unix
177 Plan 9 calls 9P file service
179 with TCP port number 564.
180 Set up this way on a machine called, say,
183 may be connected to the name space of a Plan 9 process by
189 For more information on this procedure, see
196 serves the entire file system of the Unix machine.
197 It forbids access to devices
198 because the program is single-threaded and may block unpredictably.
203 connects to a file system identical to the usual system except
204 it only permits device access (and may block unpredictably):
208 mount -c /srv/tcp!kremvax!9fs /n/kremvax device
214 does not accept an attach specifier.)
216 device access may produce unpredictable
217 results if the block size of the device is greater than 8192,
218 the maximum data size of a 9P message.
222 is in the Plan 9 directory
223 .BR /sys/src/cmd/unix/u9fs .
226 on a Unix system with an ANSI C compiler, copy the source to a directory on that system
229 Then install the binary in
235 9fs stream tcp nowait root /usr/etc/u9fs u9fs
242 9fs 564/tcp 9fs # Plan 9 fs
245 Due to a bug in their
246 IP software, some systems will not accept the service name
249 a service number because of the initial digit.
250 If so, run the service as
255 On systems where listeners cannot be started,
257 is useful for running
259 via other network mechanisms; the script
263 provides this for the
267 .B /sys/src/cmd/unix/u9fs
269 Problems are reported to the
270 log file specified with the
276 flag enables chatty debugging.
284 The implementation of devices is unsatisfactory.
286 Semantics like remove-on-close or the
289 are hard to provide exactly.