/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-clients.conf.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-08-22 00:16:20 UTC
  • mfrom: (24.1.57 mandos)
  • Revision ID: teddy@fukt.bsnet.se-20080822001620-vxpn1evy0t0kyvj0
* clients.conf ([DEFAULT]/checker): Update to new default value.

* mandos (Client.start_checker): Bug fix: OSError, not
                                 subprocess.OSError.
  (main): Use "fping -q -- %(host)s" instead of "fping -q --
          %%(host)s" as default value for "checker".  Always redirect
          stdin to be from /dev/null, even if in debug mode.

* mandos-clients.conf.xml (DESCRIPTION): Improved wording and refer to
                                         the EXPANSION section.
  (OPTIONS): Added synopsis and improved wording for "checker",
             "fingerprint", and "secret".  Refer to the RUNTIME
             EXPANSION section for the "checker" option.
  (EXAMPLE): Update to new default value for "checker".

* mandos-keygen (trap): Split lines and add "set +e".

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<!ENTITY VERSION "1.0">
5
5
<!ENTITY CONFNAME "mandos-clients.conf">
6
6
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
7
 
<!ENTITY TIMESTAMP "2008-08-30">
8
7
]>
9
8
 
10
9
<refentry>
11
10
  <refentryinfo>
12
 
    <title>Mandos Manual</title>
 
11
    <title>&CONFNAME;</title>
13
12
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
 
    <productname>Mandos</productname>
 
13
    <productname>&CONFNAME;</productname>
15
14
    <productnumber>&VERSION;</productnumber>
16
 
    <date>&TIMESTAMP;</date>
17
15
    <authorgroup>
18
16
      <author>
19
17
        <firstname>Björn</firstname>
73
71
  </refnamediv>
74
72
 
75
73
  <refsynopsisdiv>
76
 
    <synopsis>&CONFPATH;</synopsis>
 
74
    <synopsis>
 
75
      &CONFPATH;
 
76
    </synopsis>
77
77
  </refsynopsisdiv>
78
78
 
79
79
  <refsect1 id="description">
80
80
    <title>DESCRIPTION</title>
81
81
    <para>
82
 
      The file &CONFPATH; is a configuration file for <citerefentry
 
82
      The file &CONFPATH; is the configuration file for <citerefentry
83
83
      ><refentrytitle>mandos</refentrytitle>
84
 
      <manvolnum>8</manvolnum></citerefentry>, read by it at startup.
85
 
      The file needs to list all clients that should be able to use
86
 
      the service.  All clients listed will be regarded as valid, even
 
84
      <manvolnum>8</manvolnum></citerefentry>, read by it at startup,
 
85
      where each client that will be able to use the service needs to
 
86
      be listed.  All clients listed will be regarded as valid, even
87
87
      if a client was declared invalid in a previous run of the
88
88
      server.
89
89
    </para>
111
111
  <refsect1 id="options">
112
112
    <title>OPTIONS</title>
113
113
    <para>
114
 
      <emphasis>Note:</emphasis> all option values are subject to
115
 
      start time expansion, see <xref linkend="expansion"/>.
116
 
    </para>
117
 
    <para>
118
 
      Uknown options are ignored.  The used options are as follows:
 
114
      The possible options are:
119
115
    </para>
120
116
 
121
117
    <variablelist>
122
118
 
123
119
      <varlistentry>
124
 
        <term><option>timeout<literal> = </literal><replaceable
125
 
        >TIME</replaceable></option></term>
 
120
        <term><literal><varname>timeout</varname></literal></term>
126
121
        <listitem>
 
122
          <synopsis><literal>timeout = </literal><replaceable
 
123
          >TIME</replaceable>
 
124
          </synopsis>
127
125
          <para>
128
126
            The timeout is how long the server will wait for a
129
127
            successful checker run until a client is considered
147
145
      </varlistentry>
148
146
 
149
147
      <varlistentry>
150
 
        <term><option>interval<literal> = </literal><replaceable
151
 
        >TIME</replaceable></option></term>
 
148
        <term><literal><varname>interval</varname></literal></term>
152
149
        <listitem>
 
150
          <synopsis><literal>interval = </literal><replaceable
 
151
          >TIME</replaceable>
 
152
          </synopsis>
153
153
          <para>
154
154
            How often to run the checker to confirm that a client is
155
155
            still up.  <emphasis>Note:</emphasis> a new checker will
164
164
            as for <varname>timeout</varname> above.
165
165
          </para>
166
166
        </listitem>
167
 
      </varlistentry>
 
167
      </varlistentry>      
168
168
 
169
169
      <varlistentry>
170
 
        <term><option>checker<literal> = </literal><replaceable
171
 
        >COMMAND</replaceable></option></term>
 
170
        <term><literal>checker</literal></term>
172
171
        <listitem>
 
172
          <synopsis><literal>checker = </literal><replaceable
 
173
          >COMMAND</replaceable>
 
174
          </synopsis>
173
175
          <para>
174
176
            This option allows you to override the default shell
175
177
            command that the server will use to check if the client is
176
 
            still up.  Any output of the command will be ignored, only
177
 
            the exit code is checked:  If the exit code of the command
178
 
            is zero, the client is considered up.  The command will be
179
 
            run using <quote><command><filename>/bin/sh</filename>
180
 
            <option>-c</option></command></quote>, so
181
 
            <varname>PATH</varname> will be searched.  The default
182
 
            value for the checker command is <quote><literal
183
 
            ><command>fping</command> <option>-q</option> <option
184
 
            >--</option> %(host)s</literal></quote>.
 
178
            still up.  The output of the command will be ignored, only
 
179
            the exit code is checked.  The command will be run using
 
180
            <quote><command><filename>/bin/sh</filename>
 
181
            <option>-c</option></command></quote>.  The default
 
182
            command is <quote><literal><command>fping</command>
 
183
            <option>-q</option> <option>--</option>
 
184
            %(host)s</literal></quote>.
185
185
          </para>
186
186
          <para>
187
187
            In addition to normal start time expansion, this option
192
192
      </varlistentry>
193
193
      
194
194
      <varlistentry>
195
 
        <term><option>fingerprint<literal> = </literal
196
 
        ><replaceable>HEXSTRING</replaceable></option></term>
 
195
        <term><literal>fingerprint</literal></term>
197
196
        <listitem>
 
197
          <synopsis><literal>fingerprint = </literal><replaceable
 
198
          >HEXSTRING</replaceable>
 
199
          </synopsis>
198
200
          <para>
199
201
            This option sets the OpenPGP fingerprint that identifies
200
202
            the public key that clients authenticate themselves with
205
207
      </varlistentry>
206
208
      
207
209
      <varlistentry>
208
 
        <term><option>secret<literal> = </literal><replaceable
209
 
        >BASE64_ENCODED_DATA</replaceable></option></term>
 
210
        <term><literal>secret</literal></term>
210
211
        <listitem>
 
212
          <synopsis><literal>secret = </literal><replaceable
 
213
          >BASE64_ENCODED_DATA</replaceable>
 
214
          </synopsis>
211
215
          <para>
212
216
            If present, this option must be set to a string of
213
217
            base64-encoded binary data.  It will be decoded and sent
214
218
            to the client matching the above
215
219
            <option>fingerprint</option>.  This should, of course, be
216
220
            OpenPGP encrypted data, decryptable only by the client.
217
 
            The program <citerefentry><refentrytitle><command
218
 
            >mandos-keygen</command></refentrytitle><manvolnum
219
 
            >8</manvolnum></citerefentry> can, using its
220
 
            <option>--password</option> option, be used to generate
221
 
            this, if desired.
222
 
          </para>
223
 
          <para>
224
 
            Note: this value of this option will probably be very
225
 
            long.  A useful feature to avoid having unreadably-long
226
 
            lines is that a line beginning with white space adds to
227
 
            the value of the previous line, RFC 822-style.
228
 
          </para>
229
 
          <para>
230
 
            If this option is not specified, the <option
231
 
            >secfile</option> option is used instead, but one of them
232
 
            <emphasis>must</emphasis> be present.
233
 
          </para>
234
 
        </listitem>
235
 
      </varlistentry>
236
 
 
237
 
      <varlistentry>
238
 
        <term><option>secfile<literal> = </literal><replaceable
239
 
        >FILENAME</replaceable></option></term>
240
 
        <listitem>
241
 
          <para>
242
 
            Similar to the <option>secret</option>, except the secret
243
 
            data is in an external file.  The contents of the file
244
 
            should <emphasis>not</emphasis> be base64-encoded, but
245
 
            will be sent to clients verbatim.
246
 
          </para>
247
 
          <para>
248
 
            This option is only used, and <emphasis>must</emphasis> be
249
 
            present, if <option>secret</option> is not specified.
250
 
          </para>
251
 
        </listitem>
252
 
      </varlistentry>
253
 
 
254
 
      <varlistentry>
255
 
        <term><option><literal>host = </literal><replaceable
256
 
        >STRING</replaceable></option></term>
257
 
        <listitem>
258
 
          <para>
259
 
            Host name for this client.  This is not used by the server
260
 
            directly, but can be, and is by default, used by the
261
 
            checker.  See the <option>checker</option> option.
262
 
          </para>
263
 
        </listitem>
264
 
      </varlistentry>
 
221
<!--        The program <citerefentry><refentrytitle><command -->
 
222
<!--        >mandos-keygen</command></refentrytitle><manvolnum -->
 
223
<!--        >8</manvolnum></citerefentry> can be used to generate it, -->
 
224
<!--        if desired. -->
 
225
          </para>
 
226
          <para>
 
227
            Note: this value of this option will probably run over
 
228
            many lines, and will then have to use the fact that a line
 
229
            beginning with white space adds to the value of the
 
230
            previous line, RFC 822-style.
 
231
          </para>
 
232
        </listitem>
 
233
      </varlistentry>
 
234
 
 
235
      <varlistentry>
 
236
        <term><literal>secfile</literal></term>
 
237
        <listitem>
 
238
          <para>
 
239
            Base 64 encoded OpenPGP encrypted password encrypted by
 
240
            the clients openpgp certificate as a binary file.
 
241
          </para>
 
242
        </listitem>
 
243
      </varlistentry>
 
244
 
 
245
      <varlistentry>
 
246
        <term><literal>host</literal></term>
 
247
        <listitem>
 
248
          <para>
 
249
            Host name that can be used in for checking that the client is up.
 
250
          </para>
 
251
        </listitem>
 
252
      </varlistentry>
 
253
 
 
254
      <varlistentry>
 
255
        <term><literal>checker</literal></term>
 
256
        <listitem>
 
257
          <para>
 
258
            Shell command that the server will use to check up if a
 
259
            client is still up.
 
260
          </para>
 
261
        </listitem>
 
262
      </varlistentry>      
 
263
 
 
264
      <varlistentry>
 
265
        <term><literal>timeout</literal></term>
 
266
        <listitem>
 
267
          <para>
 
268
            Duration that a client can be down whitout be removed from
 
269
            the client list.
 
270
          </para>
 
271
        </listitem>
 
272
      </varlistentry> 
265
273
      
266
274
    </variablelist>
267
 
  </refsect1>
 
275
  </refsect1>  
268
276
  
269
277
  <refsect1 id="expansion">
270
278
    <title>EXPANSION</title>
309
317
      <para>
310
318
        Note that this means that, in order to include an actual
311
319
        percent character (<quote>%</quote>) in a
312
 
        <varname>checker</varname> option, <emphasis>four</emphasis>
 
320
        <varname>checker</varname> options, <emphasis>four</emphasis>
313
321
        percent characters in a row (<quote>%%%%</quote>) must be
314
322
        entered.  Also, a bad format here will lead to an immediate
315
323
        but <emphasis>silent</emphasis> run-time fatal exit; debug
316
 
        mode is needed to expose an error of this kind.
 
324
        mode is needed to track down an error of this kind.
317
325
      </para>
318
326
    </refsect2>
319
327
 
320
 
  </refsect1>
 
328
  </refsect1>  
321
329
  
322
330
  <refsect1 id="files">
323
331
    <title>FILES</title>
368
376
        5MHdW9AYsNJZAQSOpirE4Xi31CSlWAi9KV+cUCmWF5zOFy1x23P6PjdaRm
369
377
        4T2zw4dxS5NswXWU0sVEXxjs6PYxuIiCTL7vdpx8QjBkrPWDrAbcMyBr2O
370
378
        QlnHIvPzEArRQLo=
 
379
        =iHhv
371
380
host = foo.example.org
372
 
interval = 1m
 
381
interval = 5m
373
382
 
374
383
# Client "bar"
375
384
[bar]
376
385
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
377
 
secfile = /etc/mandos/bar-secret
378
 
timeout = 15m
 
386
secfile = /etc/mandos/bar-secret.txt.asc
379
387
 
380
388
      </programlisting>
381
389
    </informalexample>
382
 
  </refsect1>
383
 
  
384
 
  <refsect1 id="see_also">
385
 
    <title>SEE ALSO</title>
386
 
    <para>
387
 
      <citerefentry><refentrytitle>mandos-keygen</refentrytitle>
388
 
      <manvolnum>8</manvolnum></citerefentry>,
389
 
      <citerefentry><refentrytitle>mandos.conf</refentrytitle>
390
 
      <manvolnum>5</manvolnum></citerefentry>,
391
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
392
 
      <manvolnum>8</manvolnum></citerefentry>
393
 
    </para>
394
 
  </refsect1>
 
390
  </refsect1>  
 
391
 
395
392
</refentry>
396
 
<!-- Local Variables: -->
397
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
398
 
<!-- time-stamp-end: "[\"']>" -->
399
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
400
 
<!-- End: -->