1
<?xml version='1.0' encoding='UTF-8'?>
2
<?xml-stylesheet type="text/xsl"
3
href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
1
<?xml version="1.0" encoding="UTF-8"?>
4
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
5
3
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
6
<!ENTITY VERSION "1.0">
7
4
<!ENTITY COMMANDNAME "password-prompt">
5
<!ENTITY TIMESTAMP "2012-01-01">
6
<!ENTITY % common SYSTEM "../common.ent">
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
12
<title>&COMMANDNAME;</title>
13
<!-- NWalsh's docbook scripts use this to generate the footer: -->
14
<productname>&COMMANDNAME;</productname>
15
<productnumber>&VERSION;</productnumber>
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>
18
19
<firstname>Björn</firstname>
19
20
<surname>Påhlsson</surname>
21
<email>belorn@fukt.bsnet.se</email>
22
<email>belorn@recompile.se</email>
25
26
<firstname>Teddy</firstname>
26
27
<surname>Hogeborn</surname>
28
<email>teddy@fukt.bsnet.se</email>
29
<email>teddy@recompile.se</email>
34
<holder>Teddy Hogeborn & Björn Påhlsson</holder>
38
<holder>Teddy Hogeborn</holder>
39
<holder>Björn Påhlsson</holder>
38
This manual page is free software: you can redistribute it
39
and/or modify it under the terms of the GNU General Public
40
License as published by the Free Software Foundation,
41
either version 3 of the License, or (at your option) any
46
This manual page is distributed in the hope that it will
47
be useful, but WITHOUT ANY WARRANTY; without even the
48
implied warranty of MERCHANTABILITY or FITNESS FOR A
49
PARTICULAR PURPOSE. See the GNU General Public License
54
You should have received a copy of the GNU General Public
55
License along with this program; If not, see
56
<ulink url="http://www.gnu.org/licenses/"/>.
41
<xi:include href="../legalnotice.xml"/>
62
45
<refentrytitle>&COMMANDNAME;</refentrytitle>
63
46
<manvolnum>8mandos</manvolnum>
67
50
<refname><command>&COMMANDNAME;</command></refname>
69
Passprompt for luks during boot sequence
51
<refpurpose>Prompt for a password and output it.</refpurpose>
75
56
<command>&COMMANDNAME;</command>
76
<arg choice='opt'>--prefix<arg choice='plain'>PREFIX</arg></arg>
77
<arg choice='opt'>--debug</arg>
80
<command>&COMMANDNAME;</command>
81
<arg choice='plain'>--help</arg>
84
<command>&COMMANDNAME;</command>
85
<arg choice='plain'>--usage</arg>
88
<command>&COMMANDNAME;</command>
89
<arg choice='plain'>--version</arg>
58
<arg choice="plain"><option>--prefix <replaceable
59
>PREFIX</replaceable></option></arg>
60
<arg choice="plain"><option>-p </option><replaceable
61
>PREFIX</replaceable></arg>
64
<arg choice="opt"><option>--debug</option></arg>
67
<command>&COMMANDNAME;</command>
69
<arg choice="plain"><option>--help</option></arg>
70
<arg choice="plain"><option>-?</option></arg>
74
<command>&COMMANDNAME;</command>
75
<arg choice="plain"><option>--usage</option></arg>
78
<command>&COMMANDNAME;</command>
80
<arg choice="plain"><option>--version</option></arg>
81
<arg choice="plain"><option>-V</option></arg>
93
86
<refsect1 id="description">
94
87
<title>DESCRIPTION</title>
96
<command>&COMMANDNAME;</command> is a terminal program that ask for
97
passwords during boot sequence. It is a plugin to
98
<firstterm>mandos</firstterm>, and is used as a fallback and
99
alternative to retriving passwords from a mandos server. During
100
boot sequence the user is prompted for the disk password, and
101
when a password is given it then gets forwarded to
102
<acronym>LUKS</acronym>.
89
All <command>&COMMANDNAME;</command> does is prompt for a
90
password and output any given password to standard output.
93
This program is not very useful on its own. This program is
94
really meant to run as a plugin in the <application
95
>Mandos</application> client-side system, where it is used as a
96
fallback and alternative to retrieving passwords from a
97
<application >Mandos</application> server.
100
This program is little more than a <citerefentry><refentrytitle
101
>getpass</refentrytitle><manvolnum>3</manvolnum></citerefentry>
102
wrapper, although actual use of that function is not guaranteed
106
107
<refsect1 id="options">
107
108
<title>OPTIONS</title>
109
Commonly not invoked as command lines but from configuration
110
file of plugin runner.
110
This program is commonly not invoked from the command line; it
111
is normally started by the <application>Mandos</application>
112
plugin runner, see <citerefentry><refentrytitle
113
>plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
114
</citerefentry>. Any command line options this program accepts
115
are therefore normally provided by the plugin runner, and not
115
<term><literal>-p</literal>, <literal>--prefix=<replaceable>PREFIX
116
</replaceable></literal></term>
119
Prefix used before the passprompt
125
<term><literal>--debug</literal></term>
134
<term><literal>-?</literal>, <literal>--help</literal></term>
143
<term><literal>--usage</literal></term>
146
Gives a short usage message
152
<term><literal>-V</literal>, <literal>--version</literal></term>
155
Prints the program version
121
<term><option>--prefix=<replaceable
122
>PREFIX</replaceable></option></term>
124
<replaceable>PREFIX</replaceable></option></term>
127
Prefix string shown before the password prompt.
133
<term><option>--debug</option></term>
136
Enable debug mode. This will enable a lot of output to
137
standard error about what the program is doing. The
138
program will still perform all other functions normally.
144
<term><option>--help</option></term>
145
<term><option>-?</option></term>
148
Gives a help message about options and their meanings.
154
<term><option>--usage</option></term>
157
Gives a short usage message.
163
<term><option>--version</option></term>
164
<term><option>-V</option></term>
167
Prints the program version.
162
174
<refsect1 id="exit_status">
163
175
<title>EXIT STATUS</title>
177
If exit status is 0, the output from the program is the password
178
as it was read. Otherwise, if exit status is other than 0, the
179
program has encountered an error, and any output so far could be
180
corrupt and/or truncated, and should therefore be ignored.
168
184
<refsect1 id="environment">
169
185
<title>ENVIRONMENT</title>
174
<refsect1 id="files">
188
<term><envar>CRYPTTAB_SOURCE</envar></term>
189
<term><envar>CRYPTTAB_NAME</envar></term>
192
If set, these environment variables will be assumed to
193
contain the source device name and the target device
194
mapper name, respectively, and will be shown as part of
198
These variables will normally be inherited from
199
<citerefentry><refentrytitle>plugin-runner</refentrytitle>
200
<manvolnum>8mandos</manvolnum></citerefentry>, which will
201
normally have inherited them from
202
<filename>/scripts/local-top/cryptroot</filename> in the
203
initial <acronym>RAM</acronym> disk environment, which will
204
have set them from parsing kernel arguments and
205
<filename>/conf/conf.d/cryptroot</filename> (also in the
206
initial RAM disk environment), which in turn will have been
207
created when the initial RAM disk image was created by
209
>/usr/share/initramfs-tools/hooks/cryptroot</filename>, by
210
extracting the information of the root file system from
211
<filename >/etc/crypttab</filename>.
214
This behavior is meant to exactly mirror the behavior of
215
<command>askpass</command>, the default password prompter.
180
222
<refsect1 id="bugs">
181
223
<title>BUGS</title>
225
None are known at this time.
186
229
<refsect1 id="example">
187
230
<title>EXAMPLE</title>
232
Note that normally, command line options will not be given
233
directly, but via options for the Mandos <citerefentry
234
><refentrytitle>plugin-runner</refentrytitle>
235
<manvolnum>8mandos</manvolnum></citerefentry>.
239
Normal invocation needs no options:
242
<userinput>&COMMANDNAME;</userinput>
247
Show a prefix before the prompt; in this case, a host name.
248
It might be useful to be reminded of which host needs a
249
password, in case of <acronym>KVM</acronym> switches, etc.
253
<!-- do not wrap this line -->
254
<userinput>&COMMANDNAME; --prefix=host.example.org:</userinput>
263
<!-- do not wrap this line -->
264
<userinput>&COMMANDNAME; --debug</userinput>
192
269
<refsect1 id="security">
193
270
<title>SECURITY</title>
272
On its own, this program is very simple, and does not exactly
273
present any security risks. The one thing that could be
274
considered worthy of note is this: This program is meant to be
275
run by <citerefentry><refentrytitle
276
>plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
277
</citerefentry>, and will, when run standalone, outside, in a
278
normal environment, immediately output on its standard output
279
any presumably secret password it just received. Therefore,
280
when running this program standalone (which should never
281
normally be done), take care not to type in any real secret
282
password by force of habit, since it would then immediately be
286
To further alleviate any risk of being locked out of a system,
287
the <citerefentry><refentrytitle>plugin-runner</refentrytitle>
288
<manvolnum>8mandos</manvolnum></citerefentry> has a fallback
289
mode which does the same thing as this program, only with less
198
294
<refsect1 id="see_also">
199
295
<title>SEE ALSO</title>
201
<citerefentry><refentrytitle>mandos</refentrytitle>
202
<manvolnum>8</manvolnum></citerefentry>, <citerefentry>
203
<refentrytitle>plugin-runner</refentrytitle>
204
<manvolnum>8mandos</manvolnum></citerefentry> and <citerefentry>
205
<refentrytitle>password-request</refentrytitle>
206
<manvolnum>8mandos</manvolnum></citerefentry>
297
<citerefentry><refentrytitle>intro</refentrytitle>
298
<manvolnum>8mandos</manvolnum></citerefentry>
299
<citerefentry><refentrytitle>crypttab</refentrytitle>
300
<manvolnum>5</manvolnum></citerefentry>
301
<citerefentry><refentrytitle>mandos-client</refentrytitle>
302
<manvolnum>8mandos</manvolnum></citerefentry>
303
<citerefentry><refentrytitle>plugin-runner</refentrytitle>
304
<manvolnum>8mandos</manvolnum></citerefentry>,
308
<!-- Local Variables: -->
309
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
310
<!-- time-stamp-end: "[\"']>" -->
311
<!-- time-stamp-format: "%:y-%02m-%02d" -->