]> git.lizzy.rs Git - plan9front.git/blob - sys/man/1/cpu
merge
[plan9front.git] / sys / man / 1 / cpu
1 .TH CPU 1
2 .SH NAME
3 cpu \- connection to CPU server
4 .SH SYNOPSIS
5 .B cpu
6 [
7 .B -h
8 .I server
9 ] [
10 .B -u
11 .I user
12 ] [
13 .B -a
14 .I auth-method
15 ] [
16 .B -P
17 .I patternfile
18 ] [
19 .B -e
20 .I encryption-hash-algs
21 ] [
22 .B -k
23 .I keypattern
24 ] [
25 .B -c
26 .I cmd args ...
27 ]
28 .PP
29 .B cpu
30 [
31 .B -R
32 |
33 .B -O
34 ]
35 .SH DESCRIPTION
36 .I Cpu
37 starts an
38 .IR rc (1)
39 running on the
40 .I server
41 machine, or the machine named in the
42 .B $cpu
43 environment variable if there is no
44 .B -h
45 option.
46 .IR Rc 's
47 standard input, output, and error files will be
48 .B /dev/cons
49 in the name space where the
50 .I cpu
51 command was invoked.
52 Normally,
53 .I cpu
54 is run in an
55 .IR rio (1)
56 window on a terminal, so
57 .IR rc
58 output goes to that window, and input comes from the keyboard
59 when that window is current.
60 .IR Rc 's
61 current directory is
62 the working directory of the
63 .I cpu
64 command itself.
65 .PP
66 The name space for the new
67 .I rc
68 is an analogue of the name space where the
69 .I cpu
70 command was invoked:
71 it is the same except for architecture-dependent bindings such as
72 .B /bin
73 and the use of fast paths to file servers, if available.
74 .PP
75 If a
76 .B -u
77 argument is present,
78 .I cpu
79 uses the argument as the remote user id.
80 .PP
81 If a
82 .B -c
83 argument is present, the remainder of the command line is executed by
84 .I rc
85 on the server, and then
86 .I cpu
87 exits.
88 .PP
89 If a
90 .B -P
91 argument is present, the
92 .I patternfile
93 is passed to
94 .IR exportfs (4)
95 to control how much of the local name space will be exported to
96 the remote system.
97 .PP
98 The
99 .B -a
100 command allows the user to specify the authentication mechanism used
101 when connecting to the remote system.  The two possibilities for
102 .I auth-method
103 are:
104 .TF netkey
105 .TP
106 .B p9
107 This is the default.  Authentication is done using the standard Plan 9
108 mechanisms, (see
109 .IR authsrv (6)).
110 No user interaction is required.
111 .TP
112 .B netkey
113 Authentication is done using challenge/response and a hand held
114 authenticator or the
115 .I netkey
116 program
117 (see
118 .IR passwd (1)).
119 The user must encrypt the challenge and type the encryption
120 back to
121 .IR cpu .
122 This is used if the local host is in a different protection domain than
123 the server or if the user wants to log into the server as a different
124 user.
125 .PD
126 .PP
127 The
128 .B -e
129 option specifies an encryption and/or hash algorithm to
130 use for the connection.  If both are specified, they must
131 be space separated and comprise a single argument, so they
132 must be quoted if in a shell command.  The default is
133 .L rc4_256
134 encryption and
135 .L sha1
136 hashing.  See
137 .IR ssl (3)
138 for details on possible algorithms.  The argument
139 .L clear
140 specifies no encryption algorithm and can be used to talk
141 to older versions of the
142 .I cpu
143 service.
144 .PP
145 The
146 .B -k
147 flag specifies a key pattern to use to restrict the keys
148 selected by the
149 .I auth_proxy
150 call used for authentication.
151 .PP
152 The name space is built by running
153 .B /usr/$user/lib/profile
154 with the root of the invoking name space bound to
155 .BR /mnt/term .
156 The
157 .B service
158 environment variable is set to
159 .BR cpu ;
160 the
161 .B cputype
162 and
163 .B objtype
164 environment variables reflect the server's architecture.
165 .PP
166 The
167 .B -R
168 flag causes
169 .I cpu
170 to run the server (remote) side of the protocol.
171 It is run from service files such as
172 .BR /bin/service/tcp17010 .
173 The
174 .B -O
175 flag is similar but simulates the pre-9P2000 version
176 of the 
177 .I cpu
178 protocol.
179 .SH FILES
180 The name space of the terminal side of the
181 .I cpu
182 command is mounted, via
183 .IR exportfs (4),
184 on the CPU side on directory
185 .BR /mnt/term .
186 The files such as
187 .B /dev/cons
188 are bound to their standard locations from there.
189 .SH SOURCE
190 .B /sys/src/cmd/cpu.c
191 .SH SEE ALSO
192 .IR rc (1) ,
193 .IR rio (1) ,
194 .IR exportfs (4)
195 .SH BUGS
196 Binds and mounts done after the terminal
197 .B lib/profile
198 is run are not reflected in the new name space.
199 .PP
200 By default, the entire namespace of the local system is
201 exported to the remote system. Use of the
202 .B -P
203 option in conjunction with a customized patternfile can
204 limit this exposure, but also limits the usefulness of
205 .B /mnt/term.