]> git.lizzy.rs Git - plan9front.git/blob - sys/man/8/auth
truetypefs(4): document truetypefs
[plan9front.git] / sys / man / 8 / auth
1 .TH AUTH 8
2 .SH NAME
3 changeuser, convkeys, printnetkey, status, enable, disable, authsrv, guard.srv, debug, wrkey, login, newns, none, as \- maintain or query authentication databases
4 .SH SYNOPSIS
5 .B auth/changeuser
6 .RB [ -np ]
7 .I user
8 .PP
9 .B auth/convkeys
10 .RB [ -pa ]
11 .I keyfile
12 .PP
13 .B auth/printnetkey
14 .I user
15 .PP
16 .B auth/status
17 .I user
18 .PP
19 .B auth/enable
20 .I user
21 .PP
22 .B auth/disable
23 .I user
24 .PP
25 .B auth/authsrv
26 .RB [ -N ]
27 .PP
28 .B auth/guard.srv
29 .PP
30 .B auth/debug
31 .PP
32 .B auth/wrkey
33 .PP
34 .B auth/login
35 [
36 .B -a
37 .I authdom
38 ]
39 .I user
40 .PP
41 .B auth/newns
42 [
43 .B -ad
44 ] [
45 .B -n
46 .I namespace
47 ]
48 .I command
49 .I arg
50 \&...
51 .PP
52 .B auth/none
53 [
54 .B -d
55 ] [
56 .B -n
57 .I namespace
58 ]
59 .I command
60 .I arg
61 \&...
62 .PP
63 .B auth/as
64 [
65 .B -d
66 ] [
67 .B -n
68 .I namespace
69 ]
70 .I user
71 .I command
72 .I arg
73 \&...
74 .SH DESCRIPTION
75 These administrative commands run only on the authentication server.
76 .IR Changeuser
77 manipulates an authentication database file system served by
78 .IR keyfs (4)
79 and used by file servers.
80 There are two authentication databases,
81 one holding information about Plan 9 accounts
82 and one holding SecureNet keys.
83 A
84 .I user
85 need not be installed in both databases
86 but must be installed in the Plan 9 database to connect to a Plan 9 service.
87 .PP
88 .I Changeuser
89 installs or changes
90 .I user
91 in an authentication database.
92 It does not install a user on a Plan 9 file server; see
93 .IR fs (8)
94 for that.
95 .PP
96 Option
97 .B -p
98 installs
99 .I user
100 in the Plan 9 database.
101 .I Changeuser
102 asks twice for a password for the new
103 .IR user .
104 If the responses do not match
105 or the password is too easy to guess
106 the
107 .I user
108 is not installed.
109 .I Changeuser
110 also asks for an APOP secret.
111 This secret is used in the APOP (RFC1939),
112 CRAM (RFC2195), and
113 Microsoft challenge/response protocols used for
114 POP3, IMAP, and VPN access.
115 .PP
116 Option
117 .B -n
118 installs
119 .I user
120 in the SecureNet database and prints out a key for the SecureNet box.
121 The key is chosen by
122 .IR changeuser .
123 .PP
124 If neither option
125 .B -p
126 or option
127 .B -n
128 is given,
129 .I changeuser
130 installs the
131 .I user
132 in the Plan 9 database.
133 .PP
134 .I Changeuser
135 prompts for
136 biographical information such as email address,
137 user name, sponsor and department number and
138 appends it to the file
139 .B /adm/netkeys.who
140 or
141 .BR /adm/keys.who .
142 .PP
143 .I Convkeys
144 re-encrypts the key file
145 .IR keyfile .
146 Re-encryption is performed in place.
147 Without the
148 .B -p
149 option
150 .I convkeys
151 uses the key stored in NVRAM
152 to decrypt the file, and encrypts it using the new key.
153 By default, 
154 .I convkeys
155 prompts twice for the new password.
156 The
157 .B -p
158 forces
159 .I convkeys
160 to also prompt for the old password.
161 The
162 .B -a
163 option converts the file into AES format.
164 The format of
165 .I keyfile
166 is described in
167 .IR keyfs (4).
168 .PP
169 .I Printnetkey
170 displays the network key as it should be entered into the
171 hand-held Securenet box.
172 .PP
173 .I Status
174 is a shell script that prints out everything known about
175 a user and the user's key status.
176 .PP
177 .I Enable/disable
178 are shell scripts that enable/disable both the Plan 9 and
179 Netkey keys for individual users.
180 .PP
181 .I Authsrv
182 is the program, run only on the authentication server, that handles ticket requests
183 on TCP port 567.
184 It is started by an incoming call to the server
185 requesting a conversation ticket; its standard input and output
186 are the network connection.
187 .I Authsrv
188 executes the authentication server's end of the appropriate protocol as
189 described in
190 .IR authsrv (6).
191 The
192 .B -N
193 flag disables legacy bruteforceable DES-encrypted tickes as used by the
194 .B p9sk1
195 protocol, forcing the use of new
196 .B dp9ik
197 password authenticated key exchange.
198 .PP
199 .I Guard.srv
200 is similar.  It is called whenever a foreign (e.g. Unix) system wants
201 to do a SecureNet challenge/response authentication.
202 .SS Anywhere commands
203 .PP
204 The remaining commands need not be run on an authentication server.
205 .PP
206 .I Debug
207 attempts to authenticate using each
208 .B dp9ik
209 and
210 .B p9sk1
211 key found in
212 .I factotum
213 and prints progress reports.
214 .PP
215 .I Wrkey
216 prompts for a machine key, host owner, and host domain and stores them in
217 local non-volatile RAM.
218 .PP
219 .I Login
220 allows a user to change his authenticated id to
221 .IR user .
222 .I Login
223 sets up a new namespace from
224 .BR /lib/namespace ,
225 starts a
226 .IR factotum (4)
227 under the new id and
228 .IR exec s
229 .IR rc (1)
230 under the new id.
231 .PP
232 .I Newns
233 sets up a new namespace from
234 .I namespace
235 (default
236 .BR /lib/namespace )
237 and
238 .IR exec s
239 its arguments.
240 If there are no arguments, it
241 .IR exec s
242 .BR /bin/rc .
243 Under
244 .BR -a ,
245 .I newns
246 adds to the current namespace instead of constructing a new one.
247 The
248 .BR -d
249 option enables debugging output.
250 .PP
251 .I None
252 sets up a new namespace from
253 .I namespace
254 (default
255 .BR /lib/namespace )
256 as the user
257 .I none
258 and
259 .IR exec s
260 its arguments under the new id.
261 If there are no arguments, it
262 .IR exec s
263 .BR /bin/rc .
264 It's an easy way to run a command as
265 .IR none .
266 .PP
267 .I As
268 executes
269 .I command
270 as
271 .IR user .
272 .I Command
273 is a single argument to
274 .IR rc ,
275 containing an arbitrary
276 .I rc
277 command.
278 This only works for the hostowner and only if
279 .L #ยค/caphash
280 still exists.
281 .SH FILES
282 .TF /adm/netkeys.who
283 .TP
284 .B /lib/ndb/auth
285 Speaksfor relationships and mappings for
286 RADIUS server id's.
287 .TP
288 .B /adm/keys.who
289 List of users in the Plan 9 database.
290 .TP
291 .B /adm/netkeys.who
292 List of users in the SecureNet database.
293 .SH SOURCE
294 .B /sys/src/cmd/auth
295 .SH "SEE ALSO"
296 .IR passwd (1),
297 .I readnvram
298 in
299 .IR authsrv (2),
300 .IR keyfs (4),
301 .IR securenet (8)
302 .SH BUGS
303 Only CPU kernels permit changing userid.