IMPORT(4)IMPORT(4)
NAME
import – import a name space from a remote system
SYNOPSIS
import
[
options
]
system
file
[
mountpoint
]
import
-B
[
options
]
mountpoint
[
cmd
[
args ...
]
]
DESCRIPTION
This tool is deprecated and has been replaced by
rimport
(see
rcpu(1)).
Import
allows an arbitrary
file
on a remote
system
to be imported into the local name space.
Usually
file
is a directory, so the complete
file tree under the directory is made available.
A process is started on the
remote machine, with authority of the user of
import,
to perform work for the local machine using the
exportfs(4)
service.
The default port used is TCP 17007.
If
mountpoint
is omitted
import
uses the name of the remote
file
as the local mount point.
The options are:
-a -b -c -C
Control the construction of union directories, as in
mount
and
bind(1).
Only valid when
file
is a directory.
-A
Skip the authentication protocol.
This is useful for connecting to foreign systems like Inferno.
-z
Bypass the initial protocol request for which remote tree to serve.
This is necessary when the remote
exportfs(4)
is running with the
-r
or
-S
options which pre-select a file tree to serve. The exception is if both sides are
operating in the
-B
backwards mode.
-B
Run in “backwards” mode, described below.
-E enc
Push an encryption protocol on its network connection.
The supported protocols are
clear
(the default, no protocol)
and
ssl.
There are plans to make
tls
available.
-e ’enc hash’
Specify the encryption and hash algorithms to use for
encrypting and authenticating the wire traffic
(see
ssl(3)).
The defaults are
rc4_256
and
sha1.
-k keypattern
Use
keypattern
to select a key to authenticate to the remote side
(see
auth(2)).
-p
Push the
aan(8)
filter onto the connection to protect against
temporary network outages.
-n
Specify announce string for
aan(8)
filter when run in “backwards” mode.
-s name
Post the connection’s mountable file descriptor as
/srv/name.
The
-B
option runs
import
in “backwards” mode.
In this mode,
import
runs a
p9any
authentication (as server) over its file descriptor 0
(expected to be an incoming network connection from
exportfs
-B),
mounts the connection onto
mntpt,
and optionally runs
cmd
args.
EXAMPLES
Assume a machine
kremvax
that has IP interfaces for the company intranet and the global
internet mounted on
/net
and
/net.alt
respectively.
Any machine inside the company can get telnet out to the global
internet using:
import -a kremvax /net.alt
telnet /net.alt/tcp!ucbvax
Suppose that the machine
moscvax
has access to a private file server containing public web pages
that need to be served by the less-trusted server
webvax.
Webvax
runs the following listener
(see
listen(8))
on TCP port 999:
#!/bin/rc
import -B -s rowebfs /usr/web /bin/restarthttpd
When
moscvax
boots, it runs
exportfs -R -r /usr/web -B tcp!webvax!999
to serve a read-only copy of
/usr/web
to
webvax.
When
webvax
gets the call,
import
mounts the served tree onto its own
/usr/web
and then runs
/bin/restarthttpd
to restart
httpd(8).
SOURCE
/sys/src/cmd/import.c
SEE
rcpu(1),
bind(1),
ssl(3),
exportfs(4),
srv(4),
aan(8),
listen(8),
cs
in
ndb(8)