/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-keygen.xml

* plugins.d/mandos-client.c (init_gnutls_session): Retry interrupted
                                                   GnuTLS functions.
  (main): Drop privileges early, and raise them only where needed and
          lower them whenever possible.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
4
<!ENTITY COMMANDNAME "mandos-keygen">
6
 
<!ENTITY TIMESTAMP "2008-08-31">
 
5
<!ENTITY TIMESTAMP "2009-01-04">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
12
    <title>Mandos Manual</title>
12
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
34
36
      <holder>Teddy Hogeborn</holder>
35
37
      <holder>Björn Påhlsson</holder>
36
38
    </copyright>
37
 
    <legalnotice>
38
 
      <para>
39
 
        This manual page is free software: you can redistribute it
40
 
        and/or modify it under the terms of the GNU General Public
41
 
        License as published by the Free Software Foundation,
42
 
        either version 3 of the License, or (at your option) any
43
 
        later version.
44
 
      </para>
45
 
 
46
 
      <para>
47
 
        This manual page is distributed in the hope that it will
48
 
        be useful, but WITHOUT ANY WARRANTY; without even the
49
 
        implied warranty of MERCHANTABILITY or FITNESS FOR A
50
 
        PARTICULAR PURPOSE.  See the GNU General Public License
51
 
        for more details.
52
 
      </para>
53
 
 
54
 
      <para>
55
 
        You should have received a copy of the GNU General Public
56
 
        License along with this program; If not, see
57
 
        <ulink url="http://www.gnu.org/licenses/"/>.
58
 
      </para>
59
 
    </legalnotice>
 
39
    <xi:include href="legalnotice.xml"/>
60
40
  </refentryinfo>
61
 
 
 
41
  
62
42
  <refmeta>
63
43
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
44
    <manvolnum>8</manvolnum>
67
47
  <refnamediv>
68
48
    <refname><command>&COMMANDNAME;</command></refname>
69
49
    <refpurpose>
70
 
      Generate keys for <citerefentry><refentrytitle>password-request
71
 
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
 
50
      Generate key and password for Mandos client and server.
72
51
    </refpurpose>
73
52
  </refnamediv>
74
 
 
 
53
  
75
54
  <refsynopsisdiv>
76
55
    <cmdsynopsis>
77
56
      <command>&COMMANDNAME;</command>
145
124
      <group choice="req">
146
125
        <arg choice="plain"><option>--password</option></arg>
147
126
        <arg choice="plain"><option>-p</option></arg>
 
127
        <arg choice="plain"><option>--passfile
 
128
        <replaceable>FILE</replaceable></option></arg>
 
129
        <arg choice="plain"><option>-F</option>
 
130
        <replaceable>FILE</replaceable></arg>
148
131
      </group>
149
132
      <sbr/>
150
133
      <group>
176
159
      </group>
177
160
    </cmdsynopsis>
178
161
  </refsynopsisdiv>
179
 
 
 
162
  
180
163
  <refsect1 id="description">
181
164
    <title>DESCRIPTION</title>
182
165
    <para>
183
166
      <command>&COMMANDNAME;</command> is a program to generate the
184
 
      OpenPGP keys used by
185
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
186
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
 
167
      OpenPGP key used by
 
168
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
169
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
187
170
      normally written to /etc/mandos for later installation into the
188
 
      initrd image, but this, like most things, can be changed with
189
 
      command line options.
 
171
      initrd image, but this, and most other things, can be changed
 
172
      with command line options.
190
173
    </para>
191
174
    <para>
192
 
      It can also be used to generate ready-made sections for
 
175
      This program can also be used with the
 
176
      <option>--password</option> or <option>--passfile</option>
 
177
      options to generate a ready-made section for
 
178
      <filename>clients.conf</filename> (see
193
179
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
194
 
      <manvolnum>5</manvolnum></citerefentry> using the
195
 
      <option>--password</option> option.
 
180
      <manvolnum>5</manvolnum></citerefentry>).
196
181
    </para>
197
182
  </refsect1>
198
183
  
199
184
  <refsect1 id="purpose">
200
185
    <title>PURPOSE</title>
201
 
 
202
186
    <para>
203
187
      The purpose of this is to enable <emphasis>remote and unattended
204
188
      rebooting</emphasis> of client host computer with an
205
189
      <emphasis>encrypted root file system</emphasis>.  See <xref
206
190
      linkend="overview"/> for details.
207
191
    </para>
208
 
 
209
192
  </refsect1>
210
193
  
211
194
  <refsect1 id="options">
212
195
    <title>OPTIONS</title>
213
 
 
 
196
    
214
197
    <variablelist>
215
198
      <varlistentry>
216
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
199
        <term><option>--help</option></term>
 
200
        <term><option>-h</option></term>
217
201
        <listitem>
218
202
          <para>
219
203
            Show a help message and exit
220
204
          </para>
221
205
        </listitem>
222
206
      </varlistentry>
223
 
 
 
207
      
224
208
      <varlistentry>
225
 
        <term><literal>-d</literal>, <literal>--dir
226
 
        <replaceable>directory</replaceable></literal></term>
 
209
        <term><option>--dir
 
210
        <replaceable>DIRECTORY</replaceable></option></term>
 
211
        <term><option>-d
 
212
        <replaceable>DIRECTORY</replaceable></option></term>
227
213
        <listitem>
228
214
          <para>
229
215
            Target directory for key files.  Default is
231
217
          </para>
232
218
        </listitem>
233
219
      </varlistentry>
234
 
 
 
220
      
235
221
      <varlistentry>
236
 
        <term><literal>-t</literal>, <literal>--type
237
 
        <replaceable>type</replaceable></literal></term>
 
222
        <term><option>--type
 
223
        <replaceable>TYPE</replaceable></option></term>
 
224
        <term><option>-t
 
225
        <replaceable>TYPE</replaceable></option></term>
238
226
        <listitem>
239
227
          <para>
240
228
            Key type.  Default is <quote>DSA</quote>.
241
229
          </para>
242
230
        </listitem>
243
231
      </varlistentry>
244
 
 
 
232
      
245
233
      <varlistentry>
246
 
        <term><literal>-l</literal>, <literal>--length
247
 
        <replaceable>bits</replaceable></literal></term>
 
234
        <term><option>--length
 
235
        <replaceable>BITS</replaceable></option></term>
 
236
        <term><option>-l
 
237
        <replaceable>BITS</replaceable></option></term>
248
238
        <listitem>
249
239
          <para>
250
240
            Key length in bits.  Default is 2048.
251
241
          </para>
252
242
        </listitem>
253
243
      </varlistentry>
254
 
 
 
244
      
255
245
      <varlistentry>
256
 
        <term><literal>-s</literal>, <literal>--subtype
257
 
        <replaceable>type</replaceable></literal></term>
 
246
        <term><option>--subtype
 
247
        <replaceable>KEYTYPE</replaceable></option></term>
 
248
        <term><option>-s
 
249
        <replaceable>KEYTYPE</replaceable></option></term>
258
250
        <listitem>
259
251
          <para>
260
252
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
262
254
          </para>
263
255
        </listitem>
264
256
      </varlistentry>
265
 
 
 
257
      
266
258
      <varlistentry>
267
 
        <term><literal>-L</literal>, <literal>--sublength
268
 
        <replaceable>bits</replaceable></literal></term>
 
259
        <term><option>--sublength
 
260
        <replaceable>BITS</replaceable></option></term>
 
261
        <term><option>-L
 
262
        <replaceable>BITS</replaceable></option></term>
269
263
        <listitem>
270
264
          <para>
271
265
            Subkey length in bits.  Default is 2048.
272
266
          </para>
273
267
        </listitem>
274
268
      </varlistentry>
275
 
 
 
269
      
276
270
      <varlistentry>
277
 
        <term><literal>-e</literal>, <literal>--email</literal>
278
 
        <replaceable>address</replaceable></term>
 
271
        <term><option>--email
 
272
        <replaceable>ADDRESS</replaceable></option></term>
 
273
        <term><option>-e
 
274
        <replaceable>ADDRESS</replaceable></option></term>
279
275
        <listitem>
280
276
          <para>
281
277
            Email address of key.  Default is empty.
282
278
          </para>
283
279
        </listitem>
284
280
      </varlistentry>
285
 
 
 
281
      
286
282
      <varlistentry>
287
 
        <term><literal>-c</literal>, <literal>--comment</literal>
288
 
        <replaceable>comment</replaceable></term>
 
283
        <term><option>--comment
 
284
        <replaceable>TEXT</replaceable></option></term>
 
285
        <term><option>-c
 
286
        <replaceable>TEXT</replaceable></option></term>
289
287
        <listitem>
290
288
          <para>
291
289
            Comment field for key.  The default value is
293
291
          </para>
294
292
        </listitem>
295
293
      </varlistentry>
296
 
 
 
294
      
297
295
      <varlistentry>
298
 
        <term><literal>-x</literal>, <literal>--expire</literal>
299
 
        <replaceable>time</replaceable></term>
 
296
        <term><option>--expire
 
297
        <replaceable>TIME</replaceable></option></term>
 
298
        <term><option>-x
 
299
        <replaceable>TIME</replaceable></option></term>
300
300
        <listitem>
301
301
          <para>
302
302
            Key expire time.  Default is no expiration.  See
305
305
          </para>
306
306
        </listitem>
307
307
      </varlistentry>
308
 
 
 
308
      
309
309
      <varlistentry>
310
 
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
310
        <term><option>--force</option></term>
 
311
        <term><option>-f</option></term>
311
312
        <listitem>
312
313
          <para>
313
 
            Force overwriting old keys.
 
314
            Force overwriting old key.
314
315
          </para>
315
316
        </listitem>
316
317
      </varlistentry>
317
318
      <varlistentry>
318
 
        <term><literal>-p</literal>, <literal>--password</literal
319
 
        ></term>
 
319
        <term><option>--password</option></term>
 
320
        <term><option>-p</option></term>
320
321
        <listitem>
321
322
          <para>
322
323
            Prompt for a password and encrypt it with the key already
328
329
            >8</manvolnum></citerefentry>.  The host name or the name
329
330
            specified with the <option>--name</option> option is used
330
331
            for the section header.  All other options are ignored,
331
 
            and no keys are created.
 
332
            and no key is created.
 
333
          </para>
 
334
        </listitem>
 
335
      </varlistentry>
 
336
      <varlistentry>
 
337
        <term><option>--passfile
 
338
        <replaceable>FILE</replaceable></option></term>
 
339
        <term><option>-F
 
340
        <replaceable>FILE</replaceable></option></term>
 
341
        <listitem>
 
342
          <para>
 
343
            The same as <option>--password</option>, but read from
 
344
            <replaceable>FILE</replaceable>, not the terminal.
332
345
          </para>
333
346
        </listitem>
334
347
      </varlistentry>
335
348
    </variablelist>
336
349
  </refsect1>
337
 
 
 
350
  
338
351
  <refsect1 id="overview">
339
352
    <title>OVERVIEW</title>
340
353
    <xi:include href="overview.xml"/>
341
354
    <para>
342
355
      This program is a small utility to generate new OpenPGP keys for
343
 
      new Mandos clients.
 
356
      new Mandos clients, and to generate sections for inclusion in
 
357
      <filename>clients.conf</filename> on the server.
344
358
    </para>
345
359
  </refsect1>
346
 
 
 
360
  
347
361
  <refsect1 id="exit_status">
348
362
    <title>EXIT STATUS</title>
349
363
    <para>
350
 
      The exit status will be 0 if new keys were successfully created,
351
 
      otherwise not.
 
364
      The exit status will be 0 if a new key (or password, if the
 
365
      <option>--password</option> option was used) was successfully
 
366
      created, otherwise not.
352
367
    </para>
353
368
  </refsect1>
354
369
  
368
383
    </variablelist>
369
384
  </refsect1>
370
385
  
371
 
  <refsect1 id="file">
 
386
  <refsect1 id="files">
372
387
    <title>FILES</title>
373
388
    <para>
374
389
      Use the <option>--dir</option> option to change where
405
420
      </varlistentry>
406
421
    </variablelist>
407
422
  </refsect1>
408
 
 
409
 
  <refsect1 id="bugs">
410
 
    <title>BUGS</title>
411
 
    <para>
412
 
      None are known at this time.
413
 
    </para>
414
 
  </refsect1>
415
 
 
 
423
  
 
424
<!--   <refsect1 id="bugs"> -->
 
425
<!--     <title>BUGS</title> -->
 
426
<!--     <para> -->
 
427
<!--     </para> -->
 
428
<!--   </refsect1> -->
 
429
  
416
430
  <refsect1 id="example">
417
431
    <title>EXAMPLE</title>
418
432
    <informalexample>
425
439
    </informalexample>
426
440
    <informalexample>
427
441
      <para>
428
 
        Create keys in another directory and of another type.  Force
 
442
        Create key in another directory and of another type.  Force
429
443
        overwriting old key files:
430
444
      </para>
431
445
      <para>
435
449
 
436
450
      </para>
437
451
    </informalexample>
 
452
    <informalexample>
 
453
      <para>
 
454
        Prompt for a password, encrypt it with the key in
 
455
        <filename>/etc/mandos</filename> and output a section suitable
 
456
        for <filename>clients.conf</filename>.
 
457
      </para>
 
458
      <para>
 
459
        <userinput>&COMMANDNAME; --password</userinput>
 
460
      </para>
 
461
    </informalexample>
 
462
    <informalexample>
 
463
      <para>
 
464
        Prompt for a password, encrypt it with the key in the
 
465
        <filename>client-key</filename> directory and output a section
 
466
        suitable for <filename>clients.conf</filename>.
 
467
      </para>
 
468
      <para>
 
469
 
 
470
<!-- do not wrap this line -->
 
471
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
 
472
 
 
473
      </para>
 
474
    </informalexample>
438
475
  </refsect1>
439
 
 
 
476
  
440
477
  <refsect1 id="security">
441
478
    <title>SECURITY</title>
442
479
    <para>
443
480
      The <option>--type</option>, <option>--length</option>,
444
481
      <option>--subtype</option>, and <option>--sublength</option>
445
 
      options can be used to create keys of insufficient security.  If
446
 
      in doubt, leave them to the default values.
 
482
      options can be used to create keys of low security.  If in
 
483
      doubt, leave them to the default values.
447
484
    </para>
448
485
    <para>
449
 
      The key expire time is not guaranteed to be honored by
450
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
486
      The key expire time is <emphasis>not</emphasis> guaranteed to be
 
487
      honored by <citerefentry><refentrytitle>mandos</refentrytitle>
451
488
      <manvolnum>8</manvolnum></citerefentry>.
452
489
    </para>
453
490
  </refsect1>
454
 
 
 
491
  
455
492
  <refsect1 id="see_also">
456
493
    <title>SEE ALSO</title>
457
494
    <para>
458
495
      <citerefentry><refentrytitle>gpg</refentrytitle>
459
496
      <manvolnum>1</manvolnum></citerefentry>,
 
497
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
 
498
      <manvolnum>5</manvolnum></citerefentry>,
460
499
      <citerefentry><refentrytitle>mandos</refentrytitle>
461
500
      <manvolnum>8</manvolnum></citerefentry>,
462
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
501
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
463
502
      <manvolnum>8mandos</manvolnum></citerefentry>
464
503
    </para>
465
504
  </refsect1>