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 "2015-07-20">
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>
40
<holder>Teddy Hogeborn</holder>
41
<holder>Björn Påhlsson</holder>
43
<xi:include href="legalnotice.xml"/>
47
<refentrytitle>&COMMANDNAME;</refentrytitle>
48
<manvolnum>8</manvolnum>
52
<refname><command>&COMMANDNAME;</command></refname>
54
Control the operation of the Mandos server
60
<command>&COMMANDNAME;</command>
62
<arg choice="plain"><option>--enable</option></arg>
63
<arg choice="plain"><option>-e</option></arg>
65
<arg choice="plain"><option>--disable</option></arg>
66
<arg choice="plain"><option>-d</option></arg>
70
<arg choice="plain"><option>--bump-timeout</option></arg>
71
<arg choice="plain"><option>-b</option></arg>
75
<arg choice="plain"><option>--start-checker</option></arg>
79
<arg choice="plain"><option>--stop-checker</option></arg>
83
<arg choice="plain"><option>--remove</option></arg>
84
<arg choice="plain"><option>-r</option></arg>
88
<arg choice="plain"><option>--checker
89
<replaceable>COMMAND</replaceable></option></arg>
90
<arg choice="plain"><option>-c
91
<replaceable>COMMAND</replaceable></option></arg>
95
<arg choice="plain"><option>--timeout
96
<replaceable>TIME</replaceable></option></arg>
97
<arg choice="plain"><option>-t
98
<replaceable>TIME</replaceable></option></arg>
102
<arg choice="plain"><option>--extended-timeout
103
<replaceable>TIME</replaceable></option></arg>
107
<arg choice="plain"><option>--interval
108
<replaceable>TIME</replaceable></option></arg>
109
<arg choice="plain"><option>-i
110
<replaceable>TIME</replaceable></option></arg>
114
<arg choice="plain"><option>--approve-by-default</option
117
<arg choice="plain"><option>--deny-by-default</option></arg>
121
<arg choice="plain"><option>--approval-delay
122
<replaceable>TIME</replaceable></option></arg>
126
<arg choice="plain"><option>--approval-duration
127
<replaceable>TIME</replaceable></option></arg>
131
<arg choice="plain"><option>--interval
132
<replaceable>TIME</replaceable></option></arg>
133
<arg choice="plain"><option>-i
134
<replaceable>TIME</replaceable></option></arg>
138
<arg choice="plain"><option>--host
139
<replaceable>STRING</replaceable></option></arg>
140
<arg choice="plain"><option>-H
141
<replaceable>STRING</replaceable></option></arg>
145
<arg choice="plain"><option>--secret
146
<replaceable>FILENAME</replaceable></option></arg>
147
<arg choice="plain"><option>-s
148
<replaceable>FILENAME</replaceable></option></arg>
152
<arg choice="plain"><option>--approve</option></arg>
153
<arg choice="plain"><option>-A</option></arg>
155
<arg choice="plain"><option>--deny</option></arg>
156
<arg choice="plain"><option>-D</option></arg>
160
<arg choice="plain"><option>--all</option></arg>
161
<arg choice="plain"><option>-a</option></arg>
162
<arg rep='repeat' choice='plain'>
163
<replaceable>CLIENT</replaceable>
168
<command>&COMMANDNAME;</command>
170
<arg choice="plain"><option>--verbose</option></arg>
171
<arg choice="plain"><option>-v</option></arg>
174
<arg rep='repeat' choice='plain'>
175
<replaceable>CLIENT</replaceable>
180
<command>&COMMANDNAME;</command>
182
<arg choice="plain"><option>--is-enabled</option></arg>
183
<arg choice="plain"><option>-V</option></arg>
185
<arg choice='plain'><replaceable>CLIENT</replaceable></arg>
188
<command>&COMMANDNAME;</command>
190
<arg choice="plain"><option>--help</option></arg>
191
<arg choice="plain"><option>-h</option></arg>
195
<command>&COMMANDNAME;</command>
197
<arg choice="plain"><option>--version</option></arg>
198
<arg choice="plain"><option>-v</option></arg>
202
<command>&COMMANDNAME;</command>
203
<arg choice="plain"><option>--check</option></arg>
207
<refsect1 id="description">
208
<title>DESCRIPTION</title>
210
<command>&COMMANDNAME;</command> is a program to control the
211
operation of the Mandos server <citerefentry><refentrytitle
212
>mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
215
This program can be used to change client settings, approve or
216
deny client requests, and to remove clients from the server.
220
<refsect1 id="purpose">
221
<title>PURPOSE</title>
223
The purpose of this is to enable <emphasis>remote and unattended
224
rebooting</emphasis> of client host computer with an
225
<emphasis>encrypted root file system</emphasis>. See <xref
226
linkend="overview"/> for details.
230
<refsect1 id="options">
231
<title>OPTIONS</title>
235
<term><option>--help</option></term>
236
<term><option>-h</option></term>
239
Show a help message and exit
245
<term><option>--enable</option></term>
246
<term><option>-e</option></term>
249
Enable client(s). An enabled client will be eligble to
256
<term><option>--disable</option></term>
257
<term><option>-d</option></term>
260
Disable client(s). A disabled client will not be eligble
261
to receive its secret, and no checkers will be started for
268
<term><option>--bump-timeout</option></term>
271
Bump the timeout of the specified client(s), just as if a
272
checker had completed successfully for it/them.
278
<term><option>--start-checker</option></term>
281
Start a new checker now for the specified client(s).
287
<term><option>--stop-checker</option></term>
290
Stop any running checker for the specified client(s).
296
<term><option>--remove</option></term>
297
<term><option>-r</option></term>
300
Remove the specified client(s) from the server.
306
<term><option>--checker
307
<replaceable>COMMAND</replaceable></option></term>
309
<replaceable>COMMAND</replaceable></option></term>
312
Set the <varname>checker</varname> option of the specified
313
client(s); see <citerefentry><refentrytitle
314
>mandos-clients.conf</refentrytitle><manvolnum
315
>5</manvolnum></citerefentry>.
321
<term><option>--timeout
322
<replaceable>TIME</replaceable></option></term>
324
<replaceable>TIME</replaceable></option></term>
327
Set the <varname>timeout</varname> option of the specified
328
client(s); see <citerefentry><refentrytitle
329
>mandos-clients.conf</refentrytitle><manvolnum
330
>5</manvolnum></citerefentry>.
336
<term><option>--extended-timeout
337
<replaceable>TIME</replaceable></option></term>
340
Set the <varname>extended_timeout</varname> option of the
341
specified client(s); see <citerefentry><refentrytitle
342
>mandos-clients.conf</refentrytitle><manvolnum
343
>5</manvolnum></citerefentry>.
349
<term><option>--interval
350
<replaceable>TIME</replaceable></option></term>
352
<replaceable>TIME</replaceable></option></term>
355
Set the <varname>interval</varname> option of the
356
specified client(s); see <citerefentry><refentrytitle
357
>mandos-clients.conf</refentrytitle><manvolnum
358
>5</manvolnum></citerefentry>.
364
<term><option>--approve-by-default</option></term>
365
<term><option>--deny-by-default</option></term>
368
Set the <varname>approved_by_default</varname> option of
369
the specified client(s) to <literal>True</literal> or
370
<literal>False</literal>, respectively; see
371
<citerefentry><refentrytitle
372
>mandos-clients.conf</refentrytitle><manvolnum
373
>5</manvolnum></citerefentry>.
379
<term><option>--approval-delay
380
<replaceable>TIME</replaceable></option></term>
383
Set the <varname>approval_delay</varname> option of the
384
specified client(s); see <citerefentry><refentrytitle
385
>mandos-clients.conf</refentrytitle><manvolnum
386
>5</manvolnum></citerefentry>.
392
<term><option>--approval-duration
393
<replaceable>TIME</replaceable></option></term>
396
Set the <varname>approval_duration</varname> option of the
397
specified client(s); see <citerefentry><refentrytitle
398
>mandos-clients.conf</refentrytitle><manvolnum
399
>5</manvolnum></citerefentry>.
406
<replaceable>STRING</replaceable></option></term>
408
<replaceable>STRING</replaceable></option></term>
411
Set the <varname>host</varname> option of the specified
412
client(s); see <citerefentry><refentrytitle
413
>mandos-clients.conf</refentrytitle><manvolnum
414
>5</manvolnum></citerefentry>.
420
<term><option>--secret
421
<replaceable>FILENAME</replaceable></option></term>
423
<replaceable>FILENAME</replaceable></option></term>
426
Set the <varname>secfile</varname> option of the specified
427
client(s); see <citerefentry><refentrytitle
428
>mandos-clients.conf</refentrytitle><manvolnum
429
>5</manvolnum></citerefentry>.
435
<term><option>--approve</option></term>
436
<term><option>-A</option></term>
439
Approve client(s) if currently waiting for approval.
445
<term><option>--deny</option></term>
446
<term><option>-D</option></term>
449
Deny client(s) if currently waiting for approval.
455
<term><option>--all</option></term>
456
<term><option>-a</option></term>
459
Make the client-modifying options modify <emphasis
460
>all</emphasis> clients.
466
<term><option>--verbose</option></term>
467
<term><option>-v</option></term>
470
Show all client settings, not just a subset.
476
<term><option>--is-enabled</option></term>
477
<term><option>-V</option></term>
480
Check if a single client is enabled or not, and exit with
481
a successful exit status only if the client is enabled.
487
<term><option>--check</option></term>
490
Run self-tests. This includes any unit tests, etc.
498
<refsect1 id="overview">
499
<title>OVERVIEW</title>
500
<xi:include href="overview.xml"/>
502
This program is a small utility to generate new OpenPGP keys for
503
new Mandos clients, and to generate sections for inclusion in
504
<filename>clients.conf</filename> on the server.
508
<refsect1 id="exit_status">
509
<title>EXIT STATUS</title>
511
If the <option>--is-enabled</option> option is used, the exit
512
status will be 0 only if the specified client is enabled.
516
<!-- <refsect1 id="bugs"> -->
517
<!-- <title>BUGS</title> -->
522
<refsect1 id="example">
523
<title>EXAMPLE</title>
529
<userinput>&COMMANDNAME;</userinput>
535
To list <emphasis>all</emphasis> settings for the clients
536
named <quote>foo1.example.org</quote> and <quote
537
>foo2.example.org</quote>:
541
<!-- do not wrap this line -->
542
<userinput>&COMMANDNAME; --verbose foo1.example.org foo2.example.org</userinput>
549
To enable all clients:
552
<userinput>&COMMANDNAME; --enable --all</userinput>
558
To change timeout and interval value for the clients
559
named <quote>foo1.example.org</quote> and <quote
560
>foo2.example.org</quote>:
564
<!-- do not wrap this line -->
565
<userinput>&COMMANDNAME; --timeout="5m" --interval="1m" foo1.example.org foo2.example.org</userinput>
572
To approve all clients currently waiting for it:
575
<userinput>&COMMANDNAME; --approve --all</userinput>
580
<refsect1 id="security">
581
<title>SECURITY</title>
583
This program must be permitted to access the Mandos server via
584
the D-Bus interface. This normally requires the root user, but
585
could be configured otherwise by reconfiguring the D-Bus server.
589
<refsect1 id="see_also">
590
<title>SEE ALSO</title>
592
<citerefentry><refentrytitle>intro</refentrytitle>
593
<manvolnum>8mandos</manvolnum></citerefentry>,
594
<citerefentry><refentrytitle>mandos</refentrytitle>
595
<manvolnum>8</manvolnum></citerefentry>,
596
<citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
597
<manvolnum>5</manvolnum></citerefentry>,
598
<citerefentry><refentrytitle>mandos-monitor</refentrytitle>
599
<manvolnum>8</manvolnum></citerefentry>
604
<!-- Local Variables: -->
605
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
606
<!-- time-stamp-end: "[\"']>" -->
607
<!-- time-stamp-format: "%:y-%02m-%02d" -->