54
54
<command>&COMMANDNAME;</command>
55
55
<group rep="repeat">
56
<arg choice="plain"><option>--global-envs=<replaceable
56
<arg choice="plain"><option>--global-env=<replaceable
57
57
>VAR</replaceable><literal>=</literal><replaceable
58
58
>value</replaceable></option></arg>
59
<arg choice="plain"><option>-e
59
<arg choice="plain"><option>-G
60
60
<replaceable>VAR</replaceable><literal>=</literal><replaceable
61
61
>value</replaceable> </option></arg>
64
64
<group rep="repeat">
65
<arg choice="plain"><option>--envs-for=<replaceable
65
<arg choice="plain"><option>--env-for=<replaceable
66
66
>PLUGIN</replaceable><literal>:</literal><replaceable
67
67
>ENV</replaceable><literal>=</literal><replaceable
68
68
>value</replaceable></option></arg>
69
<arg choice="plain"><option>-f<replaceable>
69
<arg choice="plain"><option>-E<replaceable>
70
70
PLUGIN</replaceable><literal>:</literal><replaceable
71
71
>ENV</replaceable><literal>=</literal><replaceable
72
72
>value</replaceable> </option></arg>
83
83
<arg choice="plain"><option>--options-for=<replaceable
84
84
>PLUGIN</replaceable><literal>:</literal><replaceable
85
85
>OPTIONS</replaceable></option></arg>
86
<arg choice="plain"><option>-f<replaceable>
86
<arg choice="plain"><option>-o<replaceable>
87
87
PLUGIN</replaceable><literal>:</literal><replaceable
88
88
>OPTIONS</replaceable> </option></arg>
95
95
<replaceable>PLUGIN</replaceable> </option></arg>
99
<arg choice="plain"><option>--enable=<replaceable
100
>PLUGIN</replaceable></option></arg>
101
<arg choice="plain"><option>-e
102
<replaceable>PLUGIN</replaceable> </option></arg>
98
105
<arg><option>--groupid=<replaceable
99
106
>ID</replaceable></option></arg>
159
169
<title>OPTIONS</title>
172
<term><option>--global-env
173
<replaceable>VAR</replaceable><literal>=</literal><replaceable
174
>value</replaceable></option></term>
176
<replaceable>VAR</replaceable><literal>=</literal><replaceable
177
>value</replaceable></option></term>
180
This option will add an environment variable setting to
181
all plugins. This will override any inherited environment
188
<term><option>--env-for
189
<replaceable>PLUGIN</replaceable><literal>:</literal
190
><replaceable>ENV</replaceable><literal>=</literal
191
><replaceable>value</replaceable></option></term>
193
<replaceable>PLUGIN</replaceable><literal>:</literal
194
><replaceable>ENV</replaceable><literal>=</literal
195
><replaceable>value</replaceable></option></term>
198
This option will add an environment variable setting to
199
the <replaceable>PLUGIN</replaceable> plugin. This will
200
override any inherited environment variables or
201
environment variables specified using
202
<option>--global-env</option>.
162
208
<term><option>--global-options
163
209
<replaceable>OPTIONS</replaceable></option></term>
326
399
<filename>/lib/mandos/plugins.d</filename>, but this can be
327
400
changed with the <option>--plugin-dir</option> option. The
328
401
plugins are started in parallel, and the first plugin to output
329
a password and exit with a successful exit code will make this
330
plugin-runner output that password, stop any other plugins, and
402
a password <emphasis>and</emphasis> exit with a successful exit
403
code will make this plugin-runner output the password from that
404
plugin, stop any other plugins, and exit.
408
<refsect1 id="fallback">
336
409
<title>FALLBACK</title>
411
If no plugins succeed, this program will, as a fallback, ask for
412
a password on the console using <citerefentry><refentrytitle
413
>getpass</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
414
and output it. This is not meant to be the normal mode of
415
operation, as there is a separate plugin for getting a password
340
420
<refsect1 id="exit_status">
341
421
<title>EXIT STATUS</title>
423
Exit status of this program is zero if no errors were
424
encountered, and otherwise not. The fallback (see <xref
425
linkend="fallback"/>) may or may not have succeeded in either
430
<refsect1 id="environment">
431
<title>ENVIRONMENT</title>
433
This program does not use any environment variables itself, it
434
only passes on its environment to all the plugins. The
435
environment passed to plugins can be modified using the
436
<option>--global-env</option> and <option>--env-for</option>
441
<refsect1 id="files">
347
442
<title>FILES</title>
352
<refsect1 id="notes">
447
>/conf/conf.d/mandos/plugin-runner.conf</filename></term>
450
Since this program will be run as a keyscript, there is
451
little to no opportunity to pass command line arguments
452
to it. Therefore, it will <emphasis>also</emphasis>
453
read this file and use its contents as
454
whitespace-separated command line options. Also,
455
everything from a <quote>#</quote> character to the end
456
of a line is ignored.
459
This program is meant to run in the initial RAM disk
460
environment, so that is where this file is assumed to
461
exist. The file does not need to exist in the normal
465
This file will be processed <emphasis>before</emphasis>
466
the normal command line options, so the latter can
467
override the former, if need be.
470
This file name is the default; the file to read for
471
arguments can be changed using the
472
<option>--config-file</option> option.