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

  • Committer: Teddy Hogeborn
  • Date: 2008-12-10 01:26:02 UTC
  • mfrom: (237.1.2 mandos)
  • Revision ID: teddy@fukt.bsnet.se-20081210012602-vhz3h75xkj24t340
First version of a somewhat complete D-Bus server interface.  Also
change user/group name to "_mandos".

* debian/mandos.postinst: Rename old "mandos" user and group to
                          "_mandos"; create "_mandos" user and group
                          if none exist.
* debian/mandos-client.postinst: - '' -

* initramfs-tools-hook: Try "_mandos" before "mandos" as user and
                        group name.

* mandos (_datetime_to_dbus_struct): New; was previously local.
  (Client.started): Renamed to "last_started".  All users changed.
  (Client.started): New; boolean.
  (Client.dbus_object_path): New.
  (Client.check_command): Renamed to "checker_command".  All users
                          changed.
  (Client.__init__): Set and use "self.dbus_object_path".  Set
                     "self.started".
  (Client.start): Update "self.started".  Emit "self.PropertyChanged"
                  signals for both "started" and "last_started".
  (Client.stop): Update "self.started".  Emit "self.PropertyChanged"
                 signal for "started".
  (Client.checker_callback): Take additional "command" argument.  All
                             callers changed. Emit
                             "self.PropertyChanged" signal.
  (Client.bump_timeout): Emit "self.PropertyChanged" signal for
                         "last_checked_ok".
  (Client.start_checker): Emit "self.PropertyChanged" signal for
                          "checker_running".
  (Client.stop_checker): Emit "self.PropertyChanged" signal for
                         "checker_running".
  (Client.still_valid): Bug fix: use "getattr(self, started, False)"
                        instead of "self.started" in case this client
                        object is so new that the "started" attribute
                        has not been created yet.
  (Client.IntervalChanged, Client.CheckerIsRunning, Client.GetChecker,
  Client.GetCreated, Client.GetFingerprint, Client.GetHost,
  Client.GetInterval, Client.GetName, Client.GetStarted,
  Client.GetTimeout, Client.StateChanged, Client.TimeoutChanged):
  Removed; all callers changed.
  (Client.CheckerCompleted): Add "condition" and "command" arguments.
                             All callers changed.
  (Client.GetAllProperties, Client.PropertyChanged): New.
  (Client.StillValid): Renamed to "IsStillValid".
  (Client.StartChecker): Changed to its own function to avoid the
                         return value from "Client.start_checker()".
  (Client.Stop): Changed to its own function to avoid the return value
                 from "Client.stop()".
  (main): Try "_mandos" before "mandos" as user and group name.
          Removed inner function "remove_from_clients".  New inner
          class "MandosServer".

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">
6
 
<!ENTITY TIMESTAMP "2008-09-02">
 
5
<!ENTITY TIMESTAMP "2008-10-03">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
 
  <refentryinfo>
 
11
   <refentryinfo>
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>
36
37
    </copyright>
37
38
    <xi:include href="legalnotice.xml"/>
38
39
  </refentryinfo>
39
 
 
 
40
  
40
41
  <refmeta>
41
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
43
    <manvolnum>8</manvolnum>
48
49
      Gives encrypted passwords to authenticated Mandos clients
49
50
    </refpurpose>
50
51
  </refnamediv>
51
 
 
 
52
  
52
53
  <refsynopsisdiv>
53
54
    <cmdsynopsis>
54
55
      <command>&COMMANDNAME;</command>
100
101
      <arg choice="plain"><option>--check</option></arg>
101
102
    </cmdsynopsis>
102
103
  </refsynopsisdiv>
103
 
 
 
104
  
104
105
  <refsect1 id="description">
105
106
    <title>DESCRIPTION</title>
106
107
    <para>
186
187
          <xi:include href="mandos-options.xml" xpointer="debug"/>
187
188
        </listitem>
188
189
      </varlistentry>
189
 
 
 
190
      
190
191
      <varlistentry>
191
192
        <term><option>--priority <replaceable>
192
193
        PRIORITY</replaceable></option></term>
194
195
          <xi:include href="mandos-options.xml" xpointer="priority"/>
195
196
        </listitem>
196
197
      </varlistentry>
197
 
 
 
198
      
198
199
      <varlistentry>
199
200
        <term><option>--servicename
200
201
        <replaceable>NAME</replaceable></option></term>
203
204
                      xpointer="servicename"/>
204
205
        </listitem>
205
206
      </varlistentry>
206
 
 
 
207
      
207
208
      <varlistentry>
208
209
        <term><option>--configdir
209
210
        <replaceable>DIRECTORY</replaceable></option></term>
218
219
          </para>
219
220
        </listitem>
220
221
      </varlistentry>
221
 
 
 
222
      
222
223
      <varlistentry>
223
224
        <term><option>--version</option></term>
224
225
        <listitem>
229
230
      </varlistentry>
230
231
    </variablelist>
231
232
  </refsect1>
232
 
 
 
233
  
233
234
  <refsect1 id="overview">
234
235
    <title>OVERVIEW</title>
235
236
    <xi:include href="overview.xml"/>
239
240
      <acronym>RAM</acronym> disk environment.
240
241
    </para>
241
242
  </refsect1>
242
 
 
 
243
  
243
244
  <refsect1 id="protocol">
244
245
    <title>NETWORK PROTOCOL</title>
245
246
    <para>
297
298
      </row>
298
299
    </tbody></tgroup></table>
299
300
  </refsect1>
300
 
 
 
301
  
301
302
  <refsect1 id="checking">
302
303
    <title>CHECKING</title>
303
304
    <para>
311
312
      <manvolnum>5</manvolnum></citerefentry>.
312
313
    </para>
313
314
  </refsect1>
314
 
 
 
315
  
315
316
  <refsect1 id="logging">
316
317
    <title>LOGGING</title>
317
318
    <para>
321
322
      and also show them on the console.
322
323
    </para>
323
324
  </refsect1>
324
 
 
 
325
  
325
326
  <refsect1 id="exit_status">
326
327
    <title>EXIT STATUS</title>
327
328
    <para>
329
330
      critical error is encountered.
330
331
    </para>
331
332
  </refsect1>
332
 
 
 
333
  
333
334
  <refsect1 id="environment">
334
335
    <title>ENVIRONMENT</title>
335
336
    <variablelist>
349
350
      </varlistentry>
350
351
    </variablelist>
351
352
  </refsect1>
352
 
 
353
 
  <refsect1 id="file">
 
353
  
 
354
  <refsect1 id="files">
354
355
    <title>FILES</title>
355
356
    <para>
356
357
      Use the <option>--configdir</option> option to change where
379
380
        </listitem>
380
381
      </varlistentry>
381
382
      <varlistentry>
382
 
        <term><filename>/var/run/mandos/mandos.pid</filename></term>
 
383
        <term><filename>/var/run/mandos.pid</filename></term>
383
384
        <listitem>
384
385
          <para>
385
386
            The file containing the process id of
420
421
      Currently, if a client is declared <quote>invalid</quote> due to
421
422
      having timed out, the server does not record this fact onto
422
423
      permanent storage.  This has some security implications, see
423
 
      <xref linkend="CLIENTS"/>.
 
424
      <xref linkend="clients"/>.
424
425
    </para>
425
426
    <para>
426
427
      There is currently no way of querying the server of the current
434
435
      Debug mode is conflated with running in the foreground.
435
436
    </para>
436
437
    <para>
437
 
      The console log messages does not show a timestamp.
 
438
      The console log messages does not show a time stamp.
 
439
    </para>
 
440
    <para>
 
441
      This server does not check the expire time of clients’ OpenPGP
 
442
      keys.
438
443
    </para>
439
444
  </refsect1>
440
445
  
475
480
      </para>
476
481
    </informalexample>
477
482
  </refsect1>
478
 
 
 
483
  
479
484
  <refsect1 id="security">
480
485
    <title>SECURITY</title>
481
 
    <refsect2 id="SERVER">
 
486
    <refsect2 id="server">
482
487
      <title>SERVER</title>
483
488
      <para>
484
489
        Running this <command>&COMMANDNAME;</command> server program
485
490
        should not in itself present any security risk to the host
486
 
        computer running it.  The program does not need any special
487
 
        privileges to run, and is designed to run as a non-root user.
 
491
        computer running it.  The program switches to a non-root user
 
492
        soon after startup.
488
493
      </para>
489
494
    </refsect2>
490
 
    <refsect2 id="CLIENTS">
 
495
    <refsect2 id="clients">
491
496
      <title>CLIENTS</title>
492
497
      <para>
493
498
        The server only gives out its stored data to clients which
500
505
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
501
506
        <manvolnum>5</manvolnum></citerefentry>)
502
507
        <emphasis>must</emphasis> be made non-readable by anyone
503
 
        except the user running the server.
 
508
        except the user starting the server (usually root).
504
509
      </para>
505
510
      <para>
506
511
        As detailed in <xref linkend="checking"/>, the status of all
525
530
      </para>
526
531
      <para>
527
532
        For more details on client-side security, see
528
 
        <citerefentry><refentrytitle>password-request</refentrytitle>
 
533
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
529
534
        <manvolnum>8mandos</manvolnum></citerefentry>.
530
535
      </para>
531
536
    </refsect2>
532
537
  </refsect1>
533
 
 
 
538
  
534
539
  <refsect1 id="see_also">
535
540
    <title>SEE ALSO</title>
536
541
    <para>
539
544
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
540
545
        <refentrytitle>mandos.conf</refentrytitle>
541
546
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
542
 
        <refentrytitle>password-request</refentrytitle>
 
547
        <refentrytitle>mandos-client</refentrytitle>
543
548
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
544
549
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
545
550
      </citerefentry>