Serve 9P from Unix.
A fork/clone of https://bitbucket.org/plan9-from-bell-labs/u9fs/ dedicated to Jehanne development.
http://jehanne.io
dcc06ad4b8 | ||
---|---|---|
.hgignore | ||
LICENSE | ||
README | ||
authnone.c | ||
authp9any.c | ||
authrhosts.c | ||
convD2M.c | ||
convM2D.c | ||
convM2S.c | ||
convS2M.c | ||
cygwin.c | ||
des.c | ||
dirmodeconv.c | ||
doprint.c | ||
fcall.h | ||
fcallconv.c | ||
makefile | ||
oldfcall.c | ||
oldfcall.h | ||
plan9.h | ||
print.c | ||
random.c | ||
readn.c | ||
remotehost.c | ||
rune.c | ||
safecpy.c | ||
strecpy.c | ||
sun-inttypes.h | ||
tokenize.c | ||
u9fs.c | ||
u9fs.h | ||
u9fs.man | ||
u9fsauth.h | ||
utfrune.c |
README
U9fs runs on many POSIX-compatible systems, including Linux and MacOSX. Currently, it must first be compiled. See the comments at the top of the makefile for a few special instructions. Ordinarily, you should be able to type: make to create an executable called u9fs. See the manual page u9fs.man for details of options and arguments. Unfortunately, installing the program to run automatically under inetd, xinetd or equivalent is rather system-dependent. (MacOSX is an extreme case.) The rest of this file will list recipes known so far. [] Ubuntu 10.10 (and earlier) and 11.04, with xinetd and authrhosts I keep u9fs in a new directory /bin/9, but it could easily be in /usr/local/bin. It is not setuid. I use the following in /etc/xinetd.d/u9fs: service u9fs { socket_type = stream user = root instances = UNLIMITED wait = no server = /bin/9/u9fs port = 564 } It keeps the default log file in /tmp/u9fs.log. It's an internal machine, and I use rhosts authentication (which is the default): I list acceptable machines in /etc/hosts.equiv, and the server trusts what they send. -- charles.forsyth@gmail.com, May 2011 [] Debian 5.0 (and earlier), with inetd, and authp9any I use this configuration on several virtual servers. I keep u9fs in a new directory /bin/9. It is not setuid. I use the following in /etc/inetd.conf: u9fs stream tcp nowait root /bin/9/u9fs u9fs -a p9any I had to add the following to /etc/services: # Local services u9fs 564/tcp The machine is not an internal machine, and I use p9any authentication (usual Plan 9 variant). It takes the secrets from /etc/u9fs.key, which had better be well-protected. There are three lines: the secret; the authentication user ("bootes"); the authentication domain. -- charles.forsyth@gmail.com, May 2011 [] OpenBSD 4.3, with inetd, and authrhosts; same on FreeBSD 4.8(!) I use this configuration on an internal gateway. I keep u9fs in directory /bin/9. /etc/inetd.conf has the following line: p9fs stream tcp nowait root /bin/9/u9fs u9fs The protocol name "p9fs" is already in /etc/services. -- charles.forsyth@gmail.com, May 2011