cpu 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. When using the
  201. .B -a
  202. option to `log in' as another user, be aware that
  203. resources in the local name space will be made
  204. available to that user.