/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

  • Committer: Teddy Hogeborn
  • Date: 2008-10-03 09:32:30 UTC
  • Revision ID: teddy@fukt.bsnet.se-20081003093230-rshn19e0c19zz12i
* .bzrignore (plugins.d/askpass-fifo): Added.

* Makefile (FORTIFY): Added "-fstack-protector-all".
  (mandos, mandos-keygen): Use more strict regexps when updating the
                           version number.

* mandos (Client.__init__): Use os.path.expandvars() and
                            os.path.expanduser() on the "secfile"
                            config value.

* plugins.d/splashy.c: Update comments and order of #include's.
  (main): Check user and group when looking for running splashy
          process.  Do not ignore ENOENT from execl().  Use _exit()
          instead of "return" when an error happens in child
          processes.  Bug fix: Only wait for splashy_update
          completion if it was started.  Bug fix: detect failing
          waitpid().  Only kill splashy_update if it is running.  Do
          the killing of the old splashy process before the fork().
          Do setsid() and setuid(geteuid()) before starting the new
          splashy.  Report failing execl().

* plugins.d/usplash.c: Update comments and order of #include's.
  (main): Check user and group when looking for running usplash
          process.  Do not report execv() error if interrupted by a
          signal.

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 "2008-09-30">
 
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>
34
35
      <holder>Teddy Hogeborn</holder>
35
36
      <holder>Björn Påhlsson</holder>
36
37
    </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>
 
38
    <xi:include href="legalnotice.xml"/>
60
39
  </refentryinfo>
61
 
 
 
40
  
62
41
  <refmeta>
63
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
43
    <manvolnum>8</manvolnum>
67
46
  <refnamediv>
68
47
    <refname><command>&COMMANDNAME;</command></refname>
69
48
    <refpurpose>
70
 
      Generate keys for <citerefentry><refentrytitle>password-request
71
 
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
 
49
      Generate key and password for Mandos client and server.
72
50
    </refpurpose>
73
51
  </refnamediv>
74
 
 
 
52
  
75
53
  <refsynopsisdiv>
76
54
    <cmdsynopsis>
77
55
      <command>&COMMANDNAME;</command>
145
123
      <group choice="req">
146
124
        <arg choice="plain"><option>--password</option></arg>
147
125
        <arg choice="plain"><option>-p</option></arg>
 
126
        <arg choice="plain"><option>--passfile
 
127
        <replaceable>FILE</replaceable></option></arg>
 
128
        <arg choice="plain"><option>-F</option>
 
129
        <replaceable>FILE</replaceable></arg>
148
130
      </group>
149
131
      <sbr/>
150
132
      <group>
176
158
      </group>
177
159
    </cmdsynopsis>
178
160
  </refsynopsisdiv>
179
 
 
 
161
  
180
162
  <refsect1 id="description">
181
163
    <title>DESCRIPTION</title>
182
164
    <para>
183
165
      <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
 
166
      OpenPGP key used by
 
167
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
168
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
187
169
      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.
 
170
      initrd image, but this, and most other things, can be changed
 
171
      with command line options.
190
172
    </para>
191
173
    <para>
192
 
      It can also be used to generate ready-made sections for
 
174
      This program can also be used with the
 
175
      <option>--password</option> or <option>--passfile</option>
 
176
      options to generate a ready-made section for
 
177
      <filename>clients.conf</filename> (see
193
178
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
194
 
      <manvolnum>5</manvolnum></citerefentry> using the
195
 
      <option>--password</option> option.
 
179
      <manvolnum>5</manvolnum></citerefentry>).
196
180
    </para>
197
181
  </refsect1>
198
182
  
199
183
  <refsect1 id="purpose">
200
184
    <title>PURPOSE</title>
201
 
 
202
185
    <para>
203
186
      The purpose of this is to enable <emphasis>remote and unattended
204
187
      rebooting</emphasis> of client host computer with an
205
188
      <emphasis>encrypted root file system</emphasis>.  See <xref
206
189
      linkend="overview"/> for details.
207
190
    </para>
208
 
 
209
191
  </refsect1>
210
192
  
211
193
  <refsect1 id="options">
212
194
    <title>OPTIONS</title>
213
 
 
 
195
    
214
196
    <variablelist>
215
197
      <varlistentry>
216
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
198
        <term><option>--help</option></term>
 
199
        <term><option>-h</option></term>
217
200
        <listitem>
218
201
          <para>
219
202
            Show a help message and exit
220
203
          </para>
221
204
        </listitem>
222
205
      </varlistentry>
223
 
 
 
206
      
224
207
      <varlistentry>
225
 
        <term><literal>-d</literal>, <literal>--dir
226
 
        <replaceable>directory</replaceable></literal></term>
 
208
        <term><option>--dir
 
209
        <replaceable>DIRECTORY</replaceable></option></term>
 
210
        <term><option>-d
 
211
        <replaceable>DIRECTORY</replaceable></option></term>
227
212
        <listitem>
228
213
          <para>
229
214
            Target directory for key files.  Default is
231
216
          </para>
232
217
        </listitem>
233
218
      </varlistentry>
234
 
 
 
219
      
235
220
      <varlistentry>
236
 
        <term><literal>-t</literal>, <literal>--type
237
 
        <replaceable>type</replaceable></literal></term>
 
221
        <term><option>--type
 
222
        <replaceable>TYPE</replaceable></option></term>
 
223
        <term><option>-t
 
224
        <replaceable>TYPE</replaceable></option></term>
238
225
        <listitem>
239
226
          <para>
240
227
            Key type.  Default is <quote>DSA</quote>.
241
228
          </para>
242
229
        </listitem>
243
230
      </varlistentry>
244
 
 
 
231
      
245
232
      <varlistentry>
246
 
        <term><literal>-l</literal>, <literal>--length
247
 
        <replaceable>bits</replaceable></literal></term>
 
233
        <term><option>--length
 
234
        <replaceable>BITS</replaceable></option></term>
 
235
        <term><option>-l
 
236
        <replaceable>BITS</replaceable></option></term>
248
237
        <listitem>
249
238
          <para>
250
239
            Key length in bits.  Default is 2048.
251
240
          </para>
252
241
        </listitem>
253
242
      </varlistentry>
254
 
 
 
243
      
255
244
      <varlistentry>
256
 
        <term><literal>-s</literal>, <literal>--subtype
257
 
        <replaceable>type</replaceable></literal></term>
 
245
        <term><option>--subtype
 
246
        <replaceable>KEYTYPE</replaceable></option></term>
 
247
        <term><option>-s
 
248
        <replaceable>KEYTYPE</replaceable></option></term>
258
249
        <listitem>
259
250
          <para>
260
251
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
262
253
          </para>
263
254
        </listitem>
264
255
      </varlistentry>
265
 
 
 
256
      
266
257
      <varlistentry>
267
 
        <term><literal>-L</literal>, <literal>--sublength
268
 
        <replaceable>bits</replaceable></literal></term>
 
258
        <term><option>--sublength
 
259
        <replaceable>BITS</replaceable></option></term>
 
260
        <term><option>-L
 
261
        <replaceable>BITS</replaceable></option></term>
269
262
        <listitem>
270
263
          <para>
271
264
            Subkey length in bits.  Default is 2048.
272
265
          </para>
273
266
        </listitem>
274
267
      </varlistentry>
275
 
 
 
268
      
276
269
      <varlistentry>
277
 
        <term><literal>-e</literal>, <literal>--email</literal>
278
 
        <replaceable>address</replaceable></term>
 
270
        <term><option>--email
 
271
        <replaceable>ADDRESS</replaceable></option></term>
 
272
        <term><option>-e
 
273
        <replaceable>ADDRESS</replaceable></option></term>
279
274
        <listitem>
280
275
          <para>
281
276
            Email address of key.  Default is empty.
282
277
          </para>
283
278
        </listitem>
284
279
      </varlistentry>
285
 
 
 
280
      
286
281
      <varlistentry>
287
 
        <term><literal>-c</literal>, <literal>--comment</literal>
288
 
        <replaceable>comment</replaceable></term>
 
282
        <term><option>--comment
 
283
        <replaceable>TEXT</replaceable></option></term>
 
284
        <term><option>-c
 
285
        <replaceable>TEXT</replaceable></option></term>
289
286
        <listitem>
290
287
          <para>
291
288
            Comment field for key.  The default value is
293
290
          </para>
294
291
        </listitem>
295
292
      </varlistentry>
296
 
 
 
293
      
297
294
      <varlistentry>
298
 
        <term><literal>-x</literal>, <literal>--expire</literal>
299
 
        <replaceable>time</replaceable></term>
 
295
        <term><option>--expire
 
296
        <replaceable>TIME</replaceable></option></term>
 
297
        <term><option>-x
 
298
        <replaceable>TIME</replaceable></option></term>
300
299
        <listitem>
301
300
          <para>
302
301
            Key expire time.  Default is no expiration.  See
305
304
          </para>
306
305
        </listitem>
307
306
      </varlistentry>
308
 
 
 
307
      
309
308
      <varlistentry>
310
 
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
309
        <term><option>--force</option></term>
 
310
        <term><option>-f</option></term>
311
311
        <listitem>
312
312
          <para>
313
 
            Force overwriting old keys.
 
313
            Force overwriting old key.
314
314
          </para>
315
315
        </listitem>
316
316
      </varlistentry>
317
317
      <varlistentry>
318
 
        <term><literal>-p</literal>, <literal>--password</literal
319
 
        ></term>
 
318
        <term><option>--password</option></term>
 
319
        <term><option>-p</option></term>
320
320
        <listitem>
321
321
          <para>
322
322
            Prompt for a password and encrypt it with the key already
328
328
            >8</manvolnum></citerefentry>.  The host name or the name
329
329
            specified with the <option>--name</option> option is used
330
330
            for the section header.  All other options are ignored,
331
 
            and no keys are created.
 
331
            and no key is created.
 
332
          </para>
 
333
        </listitem>
 
334
      </varlistentry>
 
335
      <varlistentry>
 
336
        <term><option>--passfile
 
337
        <replaceable>FILE</replaceable></option></term>
 
338
        <term><option>-F
 
339
        <replaceable>FILE</replaceable></option></term>
 
340
        <listitem>
 
341
          <para>
 
342
            The same as <option>--password</option>, but read from
 
343
            <replaceable>FILE</replaceable>, not the terminal.
332
344
          </para>
333
345
        </listitem>
334
346
      </varlistentry>
335
347
    </variablelist>
336
348
  </refsect1>
337
 
 
 
349
  
338
350
  <refsect1 id="overview">
339
351
    <title>OVERVIEW</title>
340
352
    <xi:include href="overview.xml"/>
341
353
    <para>
342
354
      This program is a small utility to generate new OpenPGP keys for
343
 
      new Mandos clients.
 
355
      new Mandos clients, and to generate sections for inclusion in
 
356
      <filename>clients.conf</filename> on the server.
344
357
    </para>
345
358
  </refsect1>
346
 
 
 
359
  
347
360
  <refsect1 id="exit_status">
348
361
    <title>EXIT STATUS</title>
349
362
    <para>
350
 
      The exit status will be 0 if new keys were successfully created,
351
 
      otherwise not.
 
363
      The exit status will be 0 if a new key (or password, if the
 
364
      <option>--password</option> option was used) was successfully
 
365
      created, otherwise not.
352
366
    </para>
353
367
  </refsect1>
354
368
  
405
419
      </varlistentry>
406
420
    </variablelist>
407
421
  </refsect1>
408
 
 
409
 
  <refsect1 id="bugs">
410
 
    <title>BUGS</title>
411
 
    <para>
412
 
      None are known at this time.
413
 
    </para>
414
 
  </refsect1>
415
 
 
 
422
  
 
423
<!--   <refsect1 id="bugs"> -->
 
424
<!--     <title>BUGS</title> -->
 
425
<!--     <para> -->
 
426
<!--     </para> -->
 
427
<!--   </refsect1> -->
 
428
  
416
429
  <refsect1 id="example">
417
430
    <title>EXAMPLE</title>
418
431
    <informalexample>
425
438
    </informalexample>
426
439
    <informalexample>
427
440
      <para>
428
 
        Create keys in another directory and of another type.  Force
 
441
        Create key in another directory and of another type.  Force
429
442
        overwriting old key files:
430
443
      </para>
431
444
      <para>
435
448
 
436
449
      </para>
437
450
    </informalexample>
 
451
    <informalexample>
 
452
      <para>
 
453
        Prompt for a password, encrypt it with the key in
 
454
        <filename>/etc/mandos</filename> and output a section suitable
 
455
        for <filename>clients.conf</filename>.
 
456
      </para>
 
457
      <para>
 
458
        <userinput>&COMMANDNAME; --password</userinput>
 
459
      </para>
 
460
    </informalexample>
 
461
    <informalexample>
 
462
      <para>
 
463
        Prompt for a password, encrypt it with the key in the
 
464
        <filename>client-key</filename> directory and output a section
 
465
        suitable for <filename>clients.conf</filename>.
 
466
      </para>
 
467
      <para>
 
468
 
 
469
<!-- do not wrap this line -->
 
470
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
 
471
 
 
472
      </para>
 
473
    </informalexample>
438
474
  </refsect1>
439
 
 
 
475
  
440
476
  <refsect1 id="security">
441
477
    <title>SECURITY</title>
442
478
    <para>
443
479
      The <option>--type</option>, <option>--length</option>,
444
480
      <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.
 
481
      options can be used to create keys of low security.  If in
 
482
      doubt, leave them to the default values.
447
483
    </para>
448
484
    <para>
449
 
      The key expire time is not guaranteed to be honored by
450
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
485
      The key expire time is <emphasis>not</emphasis> guaranteed to be
 
486
      honored by <citerefentry><refentrytitle>mandos</refentrytitle>
451
487
      <manvolnum>8</manvolnum></citerefentry>.
452
488
    </para>
453
489
  </refsect1>
454
 
 
 
490
  
455
491
  <refsect1 id="see_also">
456
492
    <title>SEE ALSO</title>
457
493
    <para>
458
494
      <citerefentry><refentrytitle>gpg</refentrytitle>
459
495
      <manvolnum>1</manvolnum></citerefentry>,
 
496
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
 
497
      <manvolnum>5</manvolnum></citerefentry>,
460
498
      <citerefentry><refentrytitle>mandos</refentrytitle>
461
499
      <manvolnum>8</manvolnum></citerefentry>,
462
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
500
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
463
501
      <manvolnum>8mandos</manvolnum></citerefentry>
464
502
    </para>
465
503
  </refsect1>