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

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
 
<?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 COMMANDNAME "mandos-monitor">
5
 
<!ENTITY TIMESTAMP "2018-02-08">
6
 
<!ENTITY % common SYSTEM "common.ent">
7
 
%common;
8
 
]>
9
 
 
10
 
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
 
  <refentryinfo>
12
 
    <title>Mandos Manual</title>
13
 
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
 
    <productname>Mandos</productname>
15
 
    <productnumber>&version;</productnumber>
16
 
    <date>&TIMESTAMP;</date>
17
 
    <authorgroup>
18
 
      <author>
19
 
        <firstname>Björn</firstname>
20
 
        <surname>Påhlsson</surname>
21
 
        <address>
22
 
          <email>belorn@recompile.se</email>
23
 
        </address>
24
 
      </author>
25
 
      <author>
26
 
        <firstname>Teddy</firstname>
27
 
        <surname>Hogeborn</surname>
28
 
        <address>
29
 
          <email>teddy@recompile.se</email>
30
 
        </address>
31
 
      </author>
32
 
    </authorgroup>
33
 
    <copyright>
34
 
      <year>2010</year>
35
 
      <year>2011</year>
36
 
      <year>2012</year>
37
 
      <year>2013</year>
38
 
      <year>2014</year>
39
 
      <year>2015</year>
40
 
      <year>2016</year>
41
 
      <year>2017</year>
42
 
      <year>2018</year>
43
 
      <holder>Teddy Hogeborn</holder>
44
 
      <holder>Björn Påhlsson</holder>
45
 
    </copyright>
46
 
    <xi:include href="legalnotice.xml"/>
47
 
  </refentryinfo>
48
 
  
49
 
  <refmeta>
50
 
    <refentrytitle>&COMMANDNAME;</refentrytitle>
51
 
    <manvolnum>8</manvolnum>
52
 
  </refmeta>
53
 
  
54
 
  <refnamediv>
55
 
    <refname><command>&COMMANDNAME;</command></refname>
56
 
    <refpurpose>
57
 
      Text-based GUI to control the Mandos server.
58
 
    </refpurpose>
59
 
  </refnamediv>
60
 
  
61
 
  <refsynopsisdiv>
62
 
    <cmdsynopsis>
63
 
      <command>&COMMANDNAME;</command>
64
 
    </cmdsynopsis>
65
 
  </refsynopsisdiv>
66
 
  
67
 
  <refsect1 id="description">
68
 
    <title>DESCRIPTION</title>
69
 
    <para>
70
 
      <command>&COMMANDNAME;</command> is an interactive program to
71
 
      monitor and control the operations of the Mandos server (see
72
 
      <citerefentry><refentrytitle>mandos</refentrytitle><manvolnum
73
 
      >8</manvolnum></citerefentry>).
74
 
    </para>
75
 
  </refsect1>
76
 
  
77
 
  <refsect1 id="purpose">
78
 
    <title>PURPOSE</title>
79
 
    <para>
80
 
      The purpose of this is to enable <emphasis>remote and unattended
81
 
      rebooting</emphasis> of client host computer with an
82
 
      <emphasis>encrypted root file system</emphasis>.  See <xref
83
 
      linkend="overview"/> for details.
84
 
    </para>
85
 
  </refsect1>
86
 
  
87
 
  <refsect1 id="overview">
88
 
    <title>OVERVIEW</title>
89
 
    <xi:include href="overview.xml"/>
90
 
    <para>
91
 
      This program is used to monitor and control the Mandos server.
92
 
      In particular, it can be used to approve Mandos clients which
93
 
      have been configured to require approval.  It also shows all
94
 
      significant events reported by the Mandos server.
95
 
    </para>
96
 
  </refsect1>
97
 
  
98
 
  <refsect1 id="keys">
99
 
    <title>KEYS</title>
100
 
    <para>
101
 
      This program is used to monitor and control the Mandos server.
102
 
      In particular, it can be used to approve Mandos clients which
103
 
      have been configured to require approval.  It also shows all
104
 
      significant events reported by the Mandos server.
105
 
    </para>
106
 
    <table>
107
 
      <title>Global Keys</title><tgroup cols="2"><thead>
108
 
      <row>
109
 
        <entry>Keys</entry>
110
 
        <entry>Function</entry>
111
 
      </row>
112
 
      </thead><tbody>
113
 
      <row>
114
 
        <entry>q, Q</entry>
115
 
        <entry>Quit</entry>
116
 
      </row>
117
 
      <row>
118
 
        <entry>Ctrl-L</entry>
119
 
        <entry>Redraw screen</entry>
120
 
      </row>
121
 
      <row>
122
 
        <entry>?, F1</entry>
123
 
        <entry>Show help</entry>
124
 
      </row>
125
 
      <row>
126
 
        <entry>l, D</entry>
127
 
        <entry>Toggle log window</entry>
128
 
      </row>
129
 
      <row>
130
 
        <entry>TAB</entry>
131
 
        <entry>Switch window</entry>
132
 
      </row>
133
 
      <row>
134
 
        <entry>w, i</entry>
135
 
        <entry>Toggle log window line wrap</entry>
136
 
      </row>
137
 
      <row>
138
 
        <entry>v</entry>
139
 
        <entry>Toggle verbose logging</entry>
140
 
      </row>
141
 
      <row>
142
 
        <entry>Up, Ctrl-P, k</entry>
143
 
        <entry>Move up a line</entry>
144
 
      </row>
145
 
      <row>
146
 
        <entry>Down, Ctrl-N, j</entry>
147
 
        <entry>Move down a line</entry>
148
 
      </row>
149
 
      <row>
150
 
        <entry>PageUp, Meta-V, b</entry>
151
 
        <entry>Move up a page</entry>
152
 
      </row>
153
 
      <row>
154
 
        <entry>PageDown, Ctrl-V, SPACE, f</entry>
155
 
        <entry>Move down a page</entry>
156
 
      </row>
157
 
    </tbody></tgroup></table>
158
 
    <table>
159
 
      <title>Client List Keys</title><tgroup cols="2"><thead>
160
 
      <row>
161
 
        <entry>Keys</entry>
162
 
        <entry>Function</entry>
163
 
      </row>
164
 
      </thead><tbody>
165
 
      <row>
166
 
        <entry>+</entry>
167
 
        <entry>Enable client</entry>
168
 
      </row>
169
 
      <row>
170
 
        <entry>-</entry>
171
 
        <entry>Disable client</entry>
172
 
      </row>
173
 
      <row>
174
 
        <entry>a</entry>
175
 
        <entry>Approve client</entry>
176
 
      </row>
177
 
      <row>
178
 
        <entry>d</entry>
179
 
        <entry>Deny client</entry>
180
 
      </row>
181
 
      <row>
182
 
        <entry>R, _, Ctrl-K</entry>
183
 
        <entry>Remove client</entry>
184
 
      </row>
185
 
      <row>
186
 
        <entry>s</entry>
187
 
        <entry>Start checker for client</entry>
188
 
      </row>
189
 
      <row>
190
 
        <entry>S</entry>
191
 
        <entry>Stop checker for client</entry>
192
 
      </row>
193
 
      <row>
194
 
        <entry>C</entry>
195
 
        <entry>Force a successful check for this client.</entry>
196
 
      </row>
197
 
    </tbody></tgroup></table>
198
 
  </refsect1>
199
 
  
200
 
  <refsect1 id="bugs">
201
 
    <title>BUGS</title>
202
 
    <para>
203
 
      This program can currently only be used to monitor and control a
204
 
      Mandos server with the default D-Bus bus name of
205
 
      <quote>se.recompile.Mandos</quote>.
206
 
    </para>
207
 
    <xi:include href="bugs.xml"/>
208
 
  </refsect1>
209
 
  
210
 
  <refsect1 id="example">
211
 
    <title>EXAMPLE</title>
212
 
    <informalexample>
213
 
      <para>
214
 
        This program takes no options:
215
 
      </para>
216
 
      <para>
217
 
        <userinput>&COMMANDNAME;</userinput>
218
 
      </para>
219
 
    </informalexample>
220
 
  </refsect1>
221
 
  
222
 
  <refsect1 id="security">
223
 
    <title>SECURITY</title>
224
 
    <para>
225
 
      This program must be permitted to access the Mandos server via
226
 
      the D-Bus interface.  This normally requires the root user, but
227
 
      could be configured otherwise by reconfiguring the D-Bus server.
228
 
    </para>
229
 
  </refsect1>
230
 
  
231
 
  <refsect1 id="see_also">
232
 
    <title>SEE ALSO</title>
233
 
    <para>
234
 
      <citerefentry><refentrytitle>intro</refentrytitle>
235
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
236
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
237
 
      <manvolnum>8</manvolnum></citerefentry>,
238
 
      <citerefentry><refentrytitle>mandos-ctl</refentrytitle>
239
 
      <manvolnum>8</manvolnum></citerefentry>
240
 
    </para>
241
 
  </refsect1>
242
 
  
243
 
</refentry>
244
 
<!-- Local Variables: -->
245
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
246
 
<!-- time-stamp-end: "[\"']>" -->
247
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
248
 
<!-- End: -->