/mandos/trunk

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

« back to all changes in this revision

Viewing changes to mandos-keygen.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-08-29 05:53:59 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080829055359-wkdasnyxtylmnxus
* mandos.xml (EXAMPLE): Replaced all occurences of command name with
                        "&COMMANDNAME;".

* plugins.d/password-prompt.c (main): Improved some documentation
                                      strings.  Do perror() of
                                      tcgetattr() fails.  Add debug
                                      output if interrupted by signal.
                                      Loop over write() instead of
                                      using fwrite() when outputting
                                      password.  Add debug output if
                                      getline() returns 0, unless it
                                      was caused by a signal.  Add
                                      exit status code to debug
                                      output.

* plugins.d/password-prompt.xml: Changed all single quotes to double
                                 quotes for consistency.  Removed
                                 <?xml-stylesheet>.
  (ENTITY TIMESTAMP): New.  Automatically updated by Emacs time-stamp
                      by using Emacs local variables.
  (/refentry/refentryinfo/title): Changed to "Mandos Manual".
  (/refentry/refentryinfo/productname): Changed to "Mandos".
  (/refentry/refentryinfo/date): New; set to "&TIMESTAMP;".
  (/refentry/refentryinfo/copyright): Split copyright holders.
  (/refentry/refnamediv/refpurpose): Improved wording.
  (SYNOPSIS): Fix to use correct markup.  Add short options.
  (DESCRIPTION, OPTIONS): Improved wording.
  (OPTIONS): Improved wording.  Use more correct markup.  Document
             short options.
  (EXIT STATUS): Add text.
  (ENVIRONMENT): Document use of "cryptsource" and "crypttarget".
  (FILES): REMOVED.
  (BUGS): Add text.
  (EXAMPLE): Added some examples.
  (SECURITY): Added text.
  (SEE ALSO): Remove reference to mandos(8).  Add reference to
              crypttab(5).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 
4
<!ENTITY VERSION "1.0">
 
5
<!ENTITY COMMANDNAME "mandos-keygen">
 
6
]>
 
7
 
 
8
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
 
9
  <refentryinfo>
 
10
    <title>&COMMANDNAME;</title>
 
11
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
 
12
    <productname>&COMMANDNAME;</productname>
 
13
    <productnumber>&VERSION;</productnumber>
 
14
    <authorgroup>
 
15
      <author>
 
16
        <firstname>Björn</firstname>
 
17
        <surname>Påhlsson</surname>
 
18
        <address>
 
19
          <email>belorn@fukt.bsnet.se</email>
 
20
        </address>
 
21
      </author>
 
22
      <author>
 
23
        <firstname>Teddy</firstname>
 
24
        <surname>Hogeborn</surname>
 
25
        <address>
 
26
          <email>teddy@fukt.bsnet.se</email>
 
27
        </address>
 
28
      </author>
 
29
    </authorgroup>
 
30
    <copyright>
 
31
      <year>2008</year>
 
32
      <holder>Teddy Hogeborn</holder>
 
33
      <holder>Björn Påhlsson</holder>
 
34
    </copyright>
 
35
    <legalnotice>
 
36
      <para>
 
37
        This manual page is free software: you can redistribute it
 
38
        and/or modify it under the terms of the GNU General Public
 
39
        License as published by the Free Software Foundation,
 
40
        either version 3 of the License, or (at your option) any
 
41
        later version.
 
42
      </para>
 
43
 
 
44
      <para>
 
45
        This manual page is distributed in the hope that it will
 
46
        be useful, but WITHOUT ANY WARRANTY; without even the
 
47
        implied warranty of MERCHANTABILITY or FITNESS FOR A
 
48
        PARTICULAR PURPOSE.  See the GNU General Public License
 
49
        for more details.
 
50
      </para>
 
51
 
 
52
      <para>
 
53
        You should have received a copy of the GNU General Public
 
54
        License along with this program; If not, see
 
55
        <ulink url="http://www.gnu.org/licenses/"/>.
 
56
      </para>
 
57
    </legalnotice>
 
58
  </refentryinfo>
 
59
 
 
60
  <refmeta>
 
61
    <refentrytitle>&COMMANDNAME;</refentrytitle>
 
62
    <manvolnum>8</manvolnum>
 
63
  </refmeta>
 
64
  
 
65
  <refnamediv>
 
66
    <refname><command>&COMMANDNAME;</command></refname>
 
67
    <refpurpose>
 
68
      Generate keys for <citerefentry><refentrytitle>password-request
 
69
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
 
70
    </refpurpose>
 
71
  </refnamediv>
 
72
 
 
73
  <refsynopsisdiv>
 
74
    <cmdsynopsis>
 
75
      <command>&COMMANDNAME;</command>
 
76
      <group choice="opt">
 
77
        <arg choice="plain"><option>--dir</option>
 
78
        <replaceable>directory</replaceable></arg>
 
79
      </group>
 
80
      <group choice="opt">
 
81
        <arg choice="plain"><option>--type</option>
 
82
        <replaceable>type</replaceable></arg>
 
83
      </group>
 
84
      <group choice="opt">
 
85
        <arg choice="plain"><option>--length</option>
 
86
        <replaceable>bits</replaceable></arg>
 
87
      </group>
 
88
      <group choice="opt">
 
89
        <arg choice="plain"><option>--subtype</option>
 
90
        <replaceable>type</replaceable></arg>
 
91
      </group>
 
92
      <group choice="opt">
 
93
        <arg choice="plain"><option>--sublength</option>
 
94
        <replaceable>bits</replaceable></arg>
 
95
      </group>
 
96
      <group choice="opt">
 
97
        <arg choice="plain"><option>--name</option>
 
98
        <replaceable>NAME</replaceable></arg>
 
99
      </group>
 
100
      <group choice="opt">
 
101
        <arg choice="plain"><option>--email</option>
 
102
        <replaceable>EMAIL</replaceable></arg>
 
103
      </group>
 
104
      <group choice="opt">
 
105
        <arg choice="plain"><option>--comment</option>
 
106
        <replaceable>COMMENT</replaceable></arg>
 
107
      </group>
 
108
      <group choice="opt">
 
109
        <arg choice="plain"><option>--expire</option>
 
110
        <replaceable>TIME</replaceable></arg>
 
111
      </group>
 
112
      <group choice="opt">
 
113
        <arg choice="plain"><option>--force</option></arg>
 
114
      </group>
 
115
    </cmdsynopsis>
 
116
    <cmdsynopsis>
 
117
      <command>&COMMANDNAME;</command>
 
118
      <group choice="opt">
 
119
        <arg choice="plain"><option>-d</option>
 
120
        <replaceable>directory</replaceable></arg>
 
121
      </group>
 
122
      <group choice="opt">
 
123
        <arg choice="plain"><option>-t</option>
 
124
        <replaceable>type</replaceable></arg>
 
125
      </group>
 
126
      <group choice="opt">
 
127
        <arg choice="plain"><option>-l</option>
 
128
        <replaceable>bits</replaceable></arg>
 
129
      </group>
 
130
      <group choice="opt">
 
131
        <arg choice="plain"><option>-s</option>
 
132
        <replaceable>type</replaceable></arg>
 
133
      </group>
 
134
      <group choice="opt">
 
135
        <arg choice="plain"><option>-L</option>
 
136
        <replaceable>bits</replaceable></arg>
 
137
      </group>
 
138
      <group choice="opt">
 
139
        <arg choice="plain"><option>-n</option>
 
140
        <replaceable>NAME</replaceable></arg>
 
141
      </group>
 
142
      <group choice="opt">
 
143
        <arg choice="plain"><option>-e</option>
 
144
        <replaceable>EMAIL</replaceable></arg>
 
145
      </group>
 
146
      <group choice="opt">
 
147
        <arg choice="plain"><option>-c</option>
 
148
        <replaceable>COMMENT</replaceable></arg>
 
149
      </group>
 
150
      <group choice="opt">
 
151
        <arg choice="plain"><option>-x</option>
 
152
        <replaceable>TIME</replaceable></arg>
 
153
      </group>
 
154
      <group choice="opt">
 
155
        <arg choice="plain"><option>-f</option></arg>
 
156
      </group>
 
157
    </cmdsynopsis>
 
158
    <cmdsynopsis>
 
159
      <command>&COMMANDNAME;</command>
 
160
      <group choice="req">
 
161
        <arg choice="plain"><option>-p</option></arg>
 
162
        <arg choice="plain"><option>--password</option></arg>
 
163
      </group>
 
164
      <group choice="opt">
 
165
        <arg choice="plain"><option>--dir</option>
 
166
        <replaceable>directory</replaceable></arg>
 
167
      </group>
 
168
      <group choice="opt">
 
169
        <arg choice="plain"><option>--name</option>
 
170
        <replaceable>NAME</replaceable></arg>
 
171
      </group>
 
172
    </cmdsynopsis>
 
173
    <cmdsynopsis>
 
174
      <command>&COMMANDNAME;</command>
 
175
      <group choice="req">
 
176
        <arg choice="plain"><option>-h</option></arg>
 
177
        <arg choice="plain"><option>--help</option></arg>
 
178
      </group>
 
179
    </cmdsynopsis>
 
180
    <cmdsynopsis>
 
181
      <command>&COMMANDNAME;</command>
 
182
      <group choice="req">
 
183
        <arg choice="plain"><option>-v</option></arg>
 
184
        <arg choice="plain"><option>--version</option></arg>
 
185
      </group>
 
186
    </cmdsynopsis>
 
187
  </refsynopsisdiv>
 
188
 
 
189
  <refsect1 id="description">
 
190
    <title>DESCRIPTION</title>
 
191
    <para>
 
192
      <command>&COMMANDNAME;</command> is a program to generate the
 
193
      OpenPGP keys used by
 
194
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
195
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
 
196
      normally written to /etc/mandos for later installation into the
 
197
      initrd image, but this, like most things, can be changed with
 
198
      command line options.
 
199
    </para>
 
200
    <para>
 
201
      It can also be used to generate ready-made sections for
 
202
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
 
203
      <manvolnum>5</manvolnum></citerefentry> using the
 
204
      <option>--password</option> option.
 
205
    </para>
 
206
  </refsect1>
 
207
  
 
208
  <refsect1 id="purpose">
 
209
    <title>PURPOSE</title>
 
210
 
 
211
    <para>
 
212
      The purpose of this is to enable <emphasis>remote and unattended
 
213
      rebooting</emphasis> of client host computer with an
 
214
      <emphasis>encrypted root file system</emphasis>.  See <xref
 
215
      linkend="overview"/> for details.
 
216
    </para>
 
217
 
 
218
  </refsect1>
 
219
  
 
220
  <refsect1 id="options">
 
221
    <title>OPTIONS</title>
 
222
 
 
223
    <variablelist>
 
224
      <varlistentry>
 
225
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
226
        <listitem>
 
227
          <para>
 
228
            Show a help message and exit
 
229
          </para>
 
230
        </listitem>
 
231
      </varlistentry>
 
232
 
 
233
      <varlistentry>
 
234
        <term><literal>-d</literal>, <literal>--dir
 
235
        <replaceable>directory</replaceable></literal></term>
 
236
        <listitem>
 
237
          <para>
 
238
            Target directory for key files.  Default is
 
239
            <filename>/etc/mandos</filename>.
 
240
          </para>
 
241
        </listitem>
 
242
      </varlistentry>
 
243
 
 
244
      <varlistentry>
 
245
        <term><literal>-t</literal>, <literal>--type
 
246
        <replaceable>type</replaceable></literal></term>
 
247
        <listitem>
 
248
          <para>
 
249
            Key type.  Default is <quote>DSA</quote>.
 
250
          </para>
 
251
        </listitem>
 
252
      </varlistentry>
 
253
 
 
254
      <varlistentry>
 
255
        <term><literal>-l</literal>, <literal>--length
 
256
        <replaceable>bits</replaceable></literal></term>
 
257
        <listitem>
 
258
          <para>
 
259
            Key length in bits.  Default is 2048.
 
260
          </para>
 
261
        </listitem>
 
262
      </varlistentry>
 
263
 
 
264
      <varlistentry>
 
265
        <term><literal>-s</literal>, <literal>--subtype
 
266
        <replaceable>type</replaceable></literal></term>
 
267
        <listitem>
 
268
          <para>
 
269
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
 
270
            encryption-only).
 
271
          </para>
 
272
        </listitem>
 
273
      </varlistentry>
 
274
 
 
275
      <varlistentry>
 
276
        <term><literal>-L</literal>, <literal>--sublength
 
277
        <replaceable>bits</replaceable></literal></term>
 
278
        <listitem>
 
279
          <para>
 
280
            Subkey length in bits.  Default is 2048.
 
281
          </para>
 
282
        </listitem>
 
283
      </varlistentry>
 
284
 
 
285
      <varlistentry>
 
286
        <term><literal>-e</literal>, <literal>--email</literal>
 
287
        <replaceable>address</replaceable></term>
 
288
        <listitem>
 
289
          <para>
 
290
            Email address of key.  Default is empty.
 
291
          </para>
 
292
        </listitem>
 
293
      </varlistentry>
 
294
 
 
295
      <varlistentry>
 
296
        <term><literal>-c</literal>, <literal>--comment</literal>
 
297
        <replaceable>comment</replaceable></term>
 
298
        <listitem>
 
299
          <para>
 
300
            Comment field for key.  The default value is
 
301
            <quote><literal>Mandos client key</literal></quote>.
 
302
          </para>
 
303
        </listitem>
 
304
      </varlistentry>
 
305
 
 
306
      <varlistentry>
 
307
        <term><literal>-x</literal>, <literal>--expire</literal>
 
308
        <replaceable>time</replaceable></term>
 
309
        <listitem>
 
310
          <para>
 
311
            Key expire time.  Default is no expiration.  See
 
312
            <citerefentry><refentrytitle>gpg</refentrytitle>
 
313
            <manvolnum>1</manvolnum></citerefentry> for syntax.
 
314
          </para>
 
315
        </listitem>
 
316
      </varlistentry>
 
317
 
 
318
      <varlistentry>
 
319
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
320
        <listitem>
 
321
          <para>
 
322
            Force overwriting old keys.
 
323
          </para>
 
324
        </listitem>
 
325
      </varlistentry>
 
326
      <varlistentry>
 
327
        <term><literal>-p</literal>, <literal>--password</literal
 
328
        ></term>
 
329
        <listitem>
 
330
          <para>
 
331
            Prompt for a password and encrypt it with the key already
 
332
            present in either <filename>/etc/mandos</filename> or the
 
333
            directory specified with the <option>--dir</option>
 
334
            option.  Outputs, on standard output, a section suitable
 
335
            for inclusion in <citerefentry><refentrytitle
 
336
            >mandos-clients.conf</refentrytitle><manvolnum
 
337
            >8</manvolnum></citerefentry>.  The host name or the name
 
338
            specified with the <option>--name</option> option is used
 
339
            for the section header.  All other options are ignored,
 
340
            and no keys are created.
 
341
          </para>
 
342
        </listitem>
 
343
      </varlistentry>
 
344
    </variablelist>
 
345
  </refsect1>
 
346
 
 
347
  <refsect1 id="overview">
 
348
    <title>OVERVIEW</title>
 
349
    <xi:include href="overview.xml"/>
 
350
    <para>
 
351
      This program is a small utility to generate new OpenPGP keys for
 
352
      new Mandos clients.
 
353
    </para>
 
354
  </refsect1>
 
355
 
 
356
  <refsect1 id="exit_status">
 
357
    <title>EXIT STATUS</title>
 
358
    <para>
 
359
      The exit status will be 0 if new keys were successfully created,
 
360
      otherwise not.
 
361
    </para>
 
362
  </refsect1>
 
363
  
 
364
  <refsect1 id="environment">
 
365
    <title>ENVIRONMENT</title>
 
366
    <variablelist>
 
367
      <varlistentry>
 
368
        <term><varname>TMPDIR</varname></term>
 
369
        <listitem>
 
370
          <para>
 
371
            If set, temporary files will be created here. See
 
372
            <citerefentry><refentrytitle>mktemp</refentrytitle>
 
373
            <manvolnum>1</manvolnum></citerefentry>.
 
374
          </para>
 
375
        </listitem>
 
376
      </varlistentry>
 
377
    </variablelist>
 
378
  </refsect1>
 
379
  
 
380
  <refsect1 id="file">
 
381
    <title>FILES</title>
 
382
    <para>
 
383
      Use the <option>--dir</option> option to change where
 
384
      <command>&COMMANDNAME;</command> will write the key files.  The
 
385
      default file names are shown here.
 
386
    </para>
 
387
    <variablelist>
 
388
      <varlistentry>
 
389
        <term><filename>/etc/mandos/seckey.txt</filename></term>
 
390
        <listitem>
 
391
          <para>
 
392
            OpenPGP secret key file which will be created or
 
393
            overwritten.
 
394
          </para>
 
395
        </listitem>
 
396
      </varlistentry>
 
397
      <varlistentry>
 
398
        <term><filename>/etc/mandos/pubkey.txt</filename></term>
 
399
        <listitem>
 
400
          <para>
 
401
            OpenPGP public key file which will be created or
 
402
            overwritten.
 
403
          </para>
 
404
        </listitem>
 
405
      </varlistentry>
 
406
      <varlistentry>
 
407
        <term><filename>/tmp</filename></term>
 
408
        <listitem>
 
409
          <para>
 
410
            Temporary files will be written here if
 
411
            <varname>TMPDIR</varname> is not set.
 
412
          </para>
 
413
        </listitem>
 
414
      </varlistentry>
 
415
    </variablelist>
 
416
  </refsect1>
 
417
 
 
418
  <refsect1 id="bugs">
 
419
    <title>BUGS</title>
 
420
    <para>
 
421
      None are known at this time.
 
422
    </para>
 
423
  </refsect1>
 
424
 
 
425
  <refsect1 id="example">
 
426
    <title>EXAMPLE</title>
 
427
    <informalexample>
 
428
      <para>
 
429
        Normal invocation needs no options:
 
430
      </para>
 
431
      <para>
 
432
        <userinput>mandos-keygen</userinput>
 
433
      </para>
 
434
    </informalexample>
 
435
    <informalexample>
 
436
      <para>
 
437
        Create keys in another directory and of another type.  Force
 
438
        overwriting old key files:
 
439
      </para>
 
440
      <para>
 
441
 
 
442
<!-- do not wrap this line -->
 
443
<userinput>mandos-keygen --dir ~/keydir --type RSA --force</userinput>
 
444
 
 
445
      </para>
 
446
    </informalexample>
 
447
  </refsect1>
 
448
 
 
449
  <refsect1 id="security">
 
450
    <title>SECURITY</title>
 
451
    <para>
 
452
      The <option>--type</option>, <option>--length</option>,
 
453
      <option>--subtype</option>, and <option>--sublength</option>
 
454
      options can be used to create keys of insufficient security.  If
 
455
      in doubt, leave them to the default values.
 
456
    </para>
 
457
    <para>
 
458
      The key expire time is not guaranteed to be honored by
 
459
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
460
      <manvolnum>8</manvolnum></citerefentry>.
 
461
    </para>
 
462
  </refsect1>
 
463
 
 
464
  <refsect1 id="see_also">
 
465
    <title>SEE ALSO</title>
 
466
    <para>
 
467
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
468
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
469
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
470
      <manvolnum>8</manvolnum></citerefentry>,
 
471
      <citerefentry><refentrytitle>gpg</refentrytitle>
 
472
      <manvolnum>1</manvolnum></citerefentry>
 
473
    </para>
 
474
  </refsect1>
 
475
  
 
476
</refentry>