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-ctl">
5
<!ENTITY TIMESTAMP "2016-06-27">
6
<!ENTITY % common SYSTEM "common.ent">
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
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>
19
<firstname>Björn</firstname>
20
<surname>Påhlsson</surname>
22
<email>belorn@recompile.se</email>
26
<firstname>Teddy</firstname>
27
<surname>Hogeborn</surname>
29
<email>teddy@recompile.se</email>
41
<holder>Teddy Hogeborn</holder>
42
<holder>Björn Påhlsson</holder>
44
<xi:include href="legalnotice.xml"/>
48
<refentrytitle>&COMMANDNAME;</refentrytitle>
49
<manvolnum>8</manvolnum>
53
<refname><command>&COMMANDNAME;</command></refname>
55
Control or query the operation of the Mandos server
61
<command>&COMMANDNAME;</command>
64
<arg choice="plain"><option>--enable</option></arg>
65
<arg choice="plain"><option>-e</option></arg>
67
<arg choice="plain"><option>--disable</option></arg>
68
<arg choice="plain"><option>-d</option></arg>
72
<arg choice="plain"><option>--bump-timeout</option></arg>
73
<arg choice="plain"><option>-b</option></arg>
77
<arg choice="plain"><option>--start-checker</option></arg>
81
<arg choice="plain"><option>--stop-checker</option></arg>
85
<arg choice="plain"><option>--remove</option></arg>
86
<arg choice="plain"><option>-r</option></arg>
90
<arg choice="plain"><option>--checker
91
<replaceable>COMMAND</replaceable></option></arg>
92
<arg choice="plain"><option>-c
93
<replaceable>COMMAND</replaceable></option></arg>
97
<arg choice="plain"><option>--timeout
98
<replaceable>TIME</replaceable></option></arg>
99
<arg choice="plain"><option>-t
100
<replaceable>TIME</replaceable></option></arg>
104
<arg choice="plain"><option>--extended-timeout
105
<replaceable>TIME</replaceable></option></arg>
109
<arg choice="plain"><option>--interval
110
<replaceable>TIME</replaceable></option></arg>
111
<arg choice="plain"><option>-i
112
<replaceable>TIME</replaceable></option></arg>
116
<arg choice="plain"><option>--approve-by-default</option
119
<arg choice="plain"><option>--deny-by-default</option></arg>
123
<arg choice="plain"><option>--approval-delay
124
<replaceable>TIME</replaceable></option></arg>
128
<arg choice="plain"><option>--approval-duration
129
<replaceable>TIME</replaceable></option></arg>
133
<arg choice="plain"><option>--interval
134
<replaceable>TIME</replaceable></option></arg>
135
<arg choice="plain"><option>-i
136
<replaceable>TIME</replaceable></option></arg>
140
<arg choice="plain"><option>--host
141
<replaceable>STRING</replaceable></option></arg>
142
<arg choice="plain"><option>-H
143
<replaceable>STRING</replaceable></option></arg>
147
<arg choice="plain"><option>--secret
148
<replaceable>FILENAME</replaceable></option></arg>
149
<arg choice="plain"><option>-s
150
<replaceable>FILENAME</replaceable></option></arg>
154
<arg choice="plain"><option>--approve</option></arg>
155
<arg choice="plain"><option>-A</option></arg>
157
<arg choice="plain"><option>--deny</option></arg>
158
<arg choice="plain"><option>-D</option></arg>
163
<arg choice="plain"><option>--all</option></arg>
164
<arg choice="plain"><option>-a</option></arg>
165
<arg rep='repeat' choice='plain'>
166
<replaceable>CLIENT</replaceable>
171
<command>&COMMANDNAME;</command>
173
<arg choice="plain"><option>--verbose</option></arg>
174
<arg choice="plain"><option>-v</option></arg>
176
<arg choice="plain"><option>--dump-json</option></arg>
177
<arg choice="plain"><option>-j</option></arg>
180
<arg rep='repeat' choice='plain'>
181
<replaceable>CLIENT</replaceable>
186
<command>&COMMANDNAME;</command>
188
<arg choice="plain"><option>--is-enabled</option></arg>
189
<arg choice="plain"><option>-V</option></arg>
191
<arg choice='plain'><replaceable>CLIENT</replaceable></arg>
194
<command>&COMMANDNAME;</command>
196
<arg choice="plain"><option>--help</option></arg>
197
<arg choice="plain"><option>-h</option></arg>
201
<command>&COMMANDNAME;</command>
203
<arg choice="plain"><option>--version</option></arg>
204
<arg choice="plain"><option>-v</option></arg>
208
<command>&COMMANDNAME;</command>
209
<arg choice="plain"><option>--check</option></arg>
213
<refsect1 id="description">
214
<title>DESCRIPTION</title>
216
<command>&COMMANDNAME;</command> is a program to control or
217
query the operation of the Mandos server
218
<citerefentry><refentrytitle>mandos</refentrytitle><manvolnum
219
>8</manvolnum></citerefentry>.
222
This program can be used to change client settings, approve or
223
deny client requests, and to remove clients from the server.
227
<refsect1 id="purpose">
228
<title>PURPOSE</title>
230
The purpose of this is to enable <emphasis>remote and unattended
231
rebooting</emphasis> of client host computer with an
232
<emphasis>encrypted root file system</emphasis>. See <xref
233
linkend="overview"/> for details.
237
<refsect1 id="options">
238
<title>OPTIONS</title>
242
<term><option>--help</option></term>
243
<term><option>-h</option></term>
246
Show a help message and exit
252
<term><option>--enable</option></term>
253
<term><option>-e</option></term>
256
Enable client(s). An enabled client will be eligble to
263
<term><option>--disable</option></term>
264
<term><option>-d</option></term>
267
Disable client(s). A disabled client will not be eligble
268
to receive its secret, and no checkers will be started for
275
<term><option>--bump-timeout</option></term>
278
Bump the timeout of the specified client(s), just as if a
279
checker had completed successfully for it/them.
285
<term><option>--start-checker</option></term>
288
Start a new checker now for the specified client(s).
294
<term><option>--stop-checker</option></term>
297
Stop any running checker for the specified client(s).
303
<term><option>--remove</option></term>
304
<term><option>-r</option></term>
307
Remove the specified client(s) from the server.
313
<term><option>--checker
314
<replaceable>COMMAND</replaceable></option></term>
316
<replaceable>COMMAND</replaceable></option></term>
319
Set the <varname>checker</varname> option of the specified
320
client(s); see <citerefentry><refentrytitle
321
>mandos-clients.conf</refentrytitle><manvolnum
322
>5</manvolnum></citerefentry>.
328
<term><option>--timeout
329
<replaceable>TIME</replaceable></option></term>
331
<replaceable>TIME</replaceable></option></term>
334
Set the <varname>timeout</varname> option of the specified
335
client(s); see <citerefentry><refentrytitle
336
>mandos-clients.conf</refentrytitle><manvolnum
337
>5</manvolnum></citerefentry>.
343
<term><option>--extended-timeout
344
<replaceable>TIME</replaceable></option></term>
347
Set the <varname>extended_timeout</varname> option of the
348
specified client(s); see <citerefentry><refentrytitle
349
>mandos-clients.conf</refentrytitle><manvolnum
350
>5</manvolnum></citerefentry>.
356
<term><option>--interval
357
<replaceable>TIME</replaceable></option></term>
359
<replaceable>TIME</replaceable></option></term>
362
Set the <varname>interval</varname> option of the
363
specified client(s); see <citerefentry><refentrytitle
364
>mandos-clients.conf</refentrytitle><manvolnum
365
>5</manvolnum></citerefentry>.
371
<term><option>--approve-by-default</option></term>
372
<term><option>--deny-by-default</option></term>
375
Set the <varname>approved_by_default</varname> option of
376
the specified client(s) to <literal>True</literal> or
377
<literal>False</literal>, respectively; see
378
<citerefentry><refentrytitle
379
>mandos-clients.conf</refentrytitle><manvolnum
380
>5</manvolnum></citerefentry>.
386
<term><option>--approval-delay
387
<replaceable>TIME</replaceable></option></term>
390
Set the <varname>approval_delay</varname> option of the
391
specified client(s); see <citerefentry><refentrytitle
392
>mandos-clients.conf</refentrytitle><manvolnum
393
>5</manvolnum></citerefentry>.
399
<term><option>--approval-duration
400
<replaceable>TIME</replaceable></option></term>
403
Set the <varname>approval_duration</varname> option of the
404
specified client(s); see <citerefentry><refentrytitle
405
>mandos-clients.conf</refentrytitle><manvolnum
406
>5</manvolnum></citerefentry>.
413
<replaceable>STRING</replaceable></option></term>
415
<replaceable>STRING</replaceable></option></term>
418
Set the <varname>host</varname> option of the specified
419
client(s); see <citerefentry><refentrytitle
420
>mandos-clients.conf</refentrytitle><manvolnum
421
>5</manvolnum></citerefentry>.
427
<term><option>--secret
428
<replaceable>FILENAME</replaceable></option></term>
430
<replaceable>FILENAME</replaceable></option></term>
433
Set the <varname>secfile</varname> option of the specified
434
client(s); see <citerefentry><refentrytitle
435
>mandos-clients.conf</refentrytitle><manvolnum
436
>5</manvolnum></citerefentry>.
442
<term><option>--approve</option></term>
443
<term><option>-A</option></term>
446
Approve client(s) if currently waiting for approval.
452
<term><option>--deny</option></term>
453
<term><option>-D</option></term>
456
Deny client(s) if currently waiting for approval.
462
<term><option>--all</option></term>
463
<term><option>-a</option></term>
466
Make the client-modifying options modify <emphasis
467
>all</emphasis> clients.
473
<term><option>--verbose</option></term>
474
<term><option>-v</option></term>
477
Show all client settings, not just a subset.
483
<term><option>--dump-json</option></term>
484
<term><option>-j</option></term>
487
Dump client settings as JSON to standard output.
493
<term><option>--is-enabled</option></term>
494
<term><option>-V</option></term>
497
Check if a single client is enabled or not, and exit with
498
a successful exit status only if the client is enabled.
504
<term><option>--check</option></term>
507
Run self-tests. This includes any unit tests, etc.
515
<refsect1 id="overview">
516
<title>OVERVIEW</title>
517
<xi:include href="overview.xml"/>
519
This program is a small utility to generate new OpenPGP keys for
520
new Mandos clients, and to generate sections for inclusion in
521
<filename>clients.conf</filename> on the server.
525
<refsect1 id="exit_status">
526
<title>EXIT STATUS</title>
528
If the <option>--is-enabled</option> option is used, the exit
529
status will be 0 only if the specified client is enabled.
535
<xi:include href="bugs.xml"/>
538
<refsect1 id="example">
539
<title>EXAMPLE</title>
545
<userinput>&COMMANDNAME;</userinput>
551
To list <emphasis>all</emphasis> settings for the clients
552
named <quote>foo1.example.org</quote> and <quote
553
>foo2.example.org</quote>:
557
<!-- do not wrap this line -->
558
<userinput>&COMMANDNAME; --verbose foo1.example.org foo2.example.org</userinput>
565
To enable all clients:
568
<userinput>&COMMANDNAME; --enable --all</userinput>
574
To change timeout and interval value for the clients
575
named <quote>foo1.example.org</quote> and <quote
576
>foo2.example.org</quote>:
580
<!-- do not wrap this line -->
581
<userinput>&COMMANDNAME; --timeout="5m" --interval="1m" foo1.example.org foo2.example.org</userinput>
588
To approve all clients currently waiting for it:
591
<userinput>&COMMANDNAME; --approve --all</userinput>
596
<refsect1 id="security">
597
<title>SECURITY</title>
599
This program must be permitted to access the Mandos server via
600
the D-Bus interface. This normally requires the root user, but
601
could be configured otherwise by reconfiguring the D-Bus server.
605
<refsect1 id="see_also">
606
<title>SEE ALSO</title>
608
<citerefentry><refentrytitle>intro</refentrytitle>
609
<manvolnum>8mandos</manvolnum></citerefentry>,
610
<citerefentry><refentrytitle>mandos</refentrytitle>
611
<manvolnum>8</manvolnum></citerefentry>,
612
<citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
613
<manvolnum>5</manvolnum></citerefentry>,
614
<citerefentry><refentrytitle>mandos-monitor</refentrytitle>
615
<manvolnum>8</manvolnum></citerefentry>
620
<!-- Local Variables: -->
621
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
622
<!-- time-stamp-end: "[\"']>" -->
623
<!-- time-stamp-format: "%:y-%02m-%02d" -->