xref: /freebsd/stand/forth/check-password.4th.8 (revision 5cc9fabecfab8ab76ace2521372eae00997fe16b)
1*5cc9fabeSDevin Teske.\" Copyright (c) 2011-2018 Devin Teske
2ca987d46SWarner Losh.\" All rights reserved.
3ca987d46SWarner Losh.\"
4ca987d46SWarner Losh.\" Redistribution and use in source and binary forms, with or without
5ca987d46SWarner Losh.\" modification, are permitted provided that the following conditions
6ca987d46SWarner Losh.\" are met:
7ca987d46SWarner Losh.\" 1. Redistributions of source code must retain the above copyright
8ca987d46SWarner Losh.\"    notice, this list of conditions and the following disclaimer.
9ca987d46SWarner Losh.\" 2. Redistributions in binary form must reproduce the above copyright
10ca987d46SWarner Losh.\"    notice, this list of conditions and the following disclaimer in the
11ca987d46SWarner Losh.\"    documentation and/or other materials provided with the distribution.
12ca987d46SWarner Losh.\"
13ca987d46SWarner Losh.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14ca987d46SWarner Losh.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15ca987d46SWarner Losh.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16ca987d46SWarner Losh.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17ca987d46SWarner Losh.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18ca987d46SWarner Losh.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19ca987d46SWarner Losh.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20ca987d46SWarner Losh.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21ca987d46SWarner Losh.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22ca987d46SWarner Losh.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23ca987d46SWarner Losh.\" SUCH DAMAGE.
24ca987d46SWarner Losh.\"
25ca987d46SWarner Losh.\" $FreeBSD$
26ca987d46SWarner Losh.\"
27*5cc9fabeSDevin Teske.Dd June 24, 2018
28ca987d46SWarner Losh.Dt CHECK-PASSWORD.4TH 8
29ca987d46SWarner Losh.Os
30ca987d46SWarner Losh.Sh NAME
31ca987d46SWarner Losh.Nm check-password.4th
32ca987d46SWarner Losh.Nd FreeBSD password-checking boot module
33ca987d46SWarner Losh.Sh DESCRIPTION
34ca987d46SWarner LoshThe file that goes by the name of
35ca987d46SWarner Losh.Nm
36ca987d46SWarner Loshis a set of commands designed to do one or more of the following:
37ca987d46SWarner Losh.Pp
38ca987d46SWarner Losh.Dl o Prevent booting without password
39ca987d46SWarner Losh.Dl o Prevent modification of boot options without password
40ca987d46SWarner Losh.Dl o Provide a password to mount geli(8) encrypted root disk(s)
41ca987d46SWarner Losh.Pp
42ca987d46SWarner LoshThe commands of
43ca987d46SWarner Losh.Nm
44ca987d46SWarner Loshby themselves are not enough for most uses.
45ca987d46SWarner LoshPlease refer to the
46ca987d46SWarner Loshexamples below for the most common situations, and to
47ca987d46SWarner Losh.Xr loader 8
48ca987d46SWarner Loshfor additional commands.
49ca987d46SWarner Losh.Pp
50ca987d46SWarner LoshBefore using any of the commands provided in
51ca987d46SWarner Losh.Nm ,
52ca987d46SWarner Loshit must be included
53ca987d46SWarner Loshthrough the command:
54ca987d46SWarner Losh.Pp
55ca987d46SWarner Losh.Dl include check-password.4th
56ca987d46SWarner Losh.Pp
57ca987d46SWarner LoshThis line is present in
58ca987d46SWarner Losh.Pa /boot/loader.4th
59ca987d46SWarner Loshfile, so it is not needed (and should not be re-issued) in a normal setup.
60ca987d46SWarner Losh.Pp
61ca987d46SWarner LoshThe commands provided by it are:
62ca987d46SWarner Losh.Pp
63ca987d46SWarner Losh.Bl -tag -width disable-module_module -compact -offset indent
64ca987d46SWarner Losh.It Ic check-password
65ca987d46SWarner LoshMulti-purpose function that can protect the interactive boot menu,
66ca987d46SWarner Loshprevent boot without password, or prompt for geli(8) passphrase
67ca987d46SWarner Losh.Pq depending on Xr loader.conf 5 settings .
68ca987d46SWarner Losh.Pp
69ca987d46SWarner LoshFirst checks
70ca987d46SWarner Losh.Va bootlock_password
71ca987d46SWarner Loshand if-set, the user cannot continue until the correct password is entered.
72ca987d46SWarner Losh.Pp
73ca987d46SWarner LoshNext, checks
74ca987d46SWarner Losh.Va geom_eli_passphrase_prompt
75ca987d46SWarner Loshand if set to
76ca987d46SWarner Losh.Li YES
77ca987d46SWarner Losh.Pq case-insensitive
78ca987d46SWarner Loshprompts the user to enter their GELI password for later mounting of the root
79ca987d46SWarner Loshdevice(s) during boot.
80ca987d46SWarner Losh.Pp
81ca987d46SWarner LoshLast, checks
82ca987d46SWarner Losh.Va password
83ca987d46SWarner Loshand if-set, tries to
84ca987d46SWarner Losh.Ic autoboot
85ca987d46SWarner Loshand only prompts for password on failure or user-interrupt.
86ca987d46SWarner LoshSee
87ca987d46SWarner Losh.Xr loader.conf 5
88ca987d46SWarner Loshfor additional information.
89ca987d46SWarner Losh.El
90ca987d46SWarner Losh.Pp
91ca987d46SWarner LoshThe environment variables that effect its behavior are:
92ca987d46SWarner Losh.Bl -tag -width bootlock_password -offset indent
93ca987d46SWarner Losh.It Va bootlock_password
94*5cc9fabeSDevin TeskeSets the bootlock password (up to 255 characters long) that is required by
95ca987d46SWarner Losh.Ic check-password
96ca987d46SWarner Loshto be entered before the system is allowed to boot.
97ca987d46SWarner Losh.It Va geom_eli_passphrase_prompt
98ca987d46SWarner LoshSelects whether loader(8) will prompt for GELI credentials, handing-off to the
99ca987d46SWarner Loshkernel for later mounting of
100ca987d46SWarner Losh.Xr geli 8
101ca987d46SWarner Loshencrypted root device(s).
102ca987d46SWarner Losh.It Va password
103*5cc9fabeSDevin TeskeSets the password (up to 255 characters long) that is required by
104ca987d46SWarner Losh.Ic check-password
105ca987d46SWarner Loshbefore the user is allowed to visit the boot menu.
106ca987d46SWarner Losh.El
107ca987d46SWarner Losh.Sh FILES
108ca987d46SWarner Losh.Bl -tag -width /boot/check-password.4th -compact
109ca987d46SWarner Losh.It Pa /boot/loader
110ca987d46SWarner LoshThe
111ca987d46SWarner Losh.Xr loader 8 .
112ca987d46SWarner Losh.It Pa /boot/check-password.4th
113ca987d46SWarner Losh.Nm
114ca987d46SWarner Loshitself.
115ca987d46SWarner Losh.It Pa /boot/loader.rc
116ca987d46SWarner Losh.Xr loader 8
117ca987d46SWarner Loshbootstrapping script.
118ca987d46SWarner Losh.El
119ca987d46SWarner Losh.Sh EXAMPLES
120ca987d46SWarner LoshStandard i386
121ca987d46SWarner Losh.Pa /boot/loader.rc :
122ca987d46SWarner Losh.Pp
123ca987d46SWarner Losh.Bd -literal -offset indent -compact
124ca987d46SWarner Loshinclude /boot/loader.4th
125ca987d46SWarner Loshcheck-password
126ca987d46SWarner Losh.Ed
127ca987d46SWarner Losh.Pp
128ca987d46SWarner LoshSet a password in
129ca987d46SWarner Losh.Xr loader.conf 5
130ca987d46SWarner Loshto prevent modification of boot options:
131ca987d46SWarner Losh.Pp
132ca987d46SWarner Losh.Bd -literal -offset indent -compact
133ca987d46SWarner Loshpassword="abc123"
134ca987d46SWarner Losh.Ed
135ca987d46SWarner Losh.Pp
136ca987d46SWarner LoshSet a password in
137ca987d46SWarner Losh.Xr loader.conf 5
138ca987d46SWarner Loshto prevent booting without password:
139ca987d46SWarner Losh.Pp
140ca987d46SWarner Losh.Bd -literal -offset indent -compact
141ca987d46SWarner Loshbootlock_password="boot"
142ca987d46SWarner Losh.Ed
143ca987d46SWarner Losh.Pp
144ca987d46SWarner LoshAdd the following to
145ca987d46SWarner Losh.Xr loader.conf 5
146ca987d46SWarner Loshto generate a prompt at boot to collect GELI credentials for mounting
147ca987d46SWarner Losh.Xr geli 8
148ca987d46SWarner Loshencrypted root device(s):
149ca987d46SWarner Losh.Pp
150ca987d46SWarner Losh.Bd -literal -offset indent -compact
151ca987d46SWarner Loshgeom_eli_passphrase_prompt="YES"
152ca987d46SWarner Losh.Ed
153ca987d46SWarner Losh.Sh SEE ALSO
154ca987d46SWarner Losh.Xr loader.conf 5 ,
155ca987d46SWarner Losh.Xr loader 8 ,
156ca987d46SWarner Losh.Xr loader.4th 8
157ca987d46SWarner Losh.Sh HISTORY
158ca987d46SWarner LoshThe
159ca987d46SWarner Losh.Nm
160ca987d46SWarner Loshset of commands first appeared in
161ca987d46SWarner Losh.Fx 9.0 .
162ca987d46SWarner Losh.Sh AUTHORS
163ca987d46SWarner LoshThe
164ca987d46SWarner Losh.Nm
165ca987d46SWarner Loshset of commands was written by
166ca987d46SWarner Losh.An -nosplit
167ca987d46SWarner Losh.An Devin Teske Aq dteske@FreeBSD.org .
168