source: postlfs/security/cracklib.xml@ 62494cc

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 62494cc was 62494cc, checked in by Randy McMurchy <randy@…>, 19 years ago

Minor updates to the text in the CrackLib instructions, thanks Alex

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4910 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY cracklib-download-http "http://prdownloads.sourceforge.net/cracklib/cracklib-&cracklib-version;.tar.gz">
8 <!ENTITY cracklib-download-ftp " ">
9 <!ENTITY cracklib-http-md5sum "13f82f75b892cbd0ba7cb9069e307006">
10 <!ENTITY cracklib-size "480 KB">
11 <!ENTITY cracklib-buildsize "27.6 MB">
12 <!ENTITY cracklib-time "0.1 SBU">
13 <!ENTITY crackdict-download "http://prdownloads.sourceforge.net/cracklib/cracklib-words.gz">
14 <!ENTITY crackdict-size "4.4 MB">
15 <!ENTITY crackdict-md5sum "d18e670e5df560a8745e1b4dede8f84f">
16]>
17
18<sect1 id="cracklib" xreflabel="CrackLib-&cracklib-version;">
19 <?dbhtml filename="cracklib.html"?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>CrackLib-&cracklib-version;</title>
27
28 <indexterm zone="cracklib">
29 <primary sortas="a-CrackLib">CrackLib</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to CrackLib</title>
34
35 <para>The <application>CrackLib</application> package contains a
36 library used to enforce strong passwords by comparing user selected
37 passwords to words in chosen word lists.</para>
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>Download (HTTP): <ulink url="&cracklib-download-http;"/></para>
43 </listitem>
44 <listitem>
45 <para>Download (FTP): <ulink url="&cracklib-download-ftp;"/></para>
46 </listitem>
47 <listitem>
48 <para>Download MD5 sum: &cracklib-http-md5sum;</para>
49 </listitem>
50 <listitem>
51 <para>Download size: &cracklib-size;</para>
52 </listitem>
53 <listitem>
54 <para>Estimated disk space required: &cracklib-buildsize;</para>
55 </listitem>
56 <listitem>
57 <para>Estimated build time: &cracklib-time;</para>
58 </listitem>
59 </itemizedlist>
60
61 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
62 <itemizedlist spacing='compact'>
63 <listitem>
64 <para>Recommended word list for English-speaking countries (size:
65 &crackdict-size;; md5sum: &crackdict-md5sum;):
66 <ulink url="&crackdict-download;"/></para>
67 </listitem>
68 <listitem>
69 <para>Required patch to create a library used with the Heimdal
70 Kerberos 5 package: <ulink
71 url="&patch-root;/cracklib-&cracklib-version;-heimdal-1.patch"/></para>
72 </listitem>
73 </itemizedlist>
74
75 <para>There are additional word lists available for download, e.g., from
76 <ulink url="http://www.cotse.com/tools/wordlists.htm"/>.
77 <application>CrackLib</application> can utilize as many, or as few word
78 lists you choose to install.</para>
79
80 <important>
81 <para>Users tend to base their passwords on regular words of the spoken
82 language, and crackers know that. <application>CrackLib</application> is
83 intended to filter out such bad passwords at the source using a
84 dictionary created from word lists. To accomplish this, the word list(s)
85 for use with <application>CrackLib</application> must be an exhaustive
86 list of words and word-based keystroke combinations likely to be chosen
87 by users of the system as (guessable) passwords.</para>
88
89 <para>The default word list recommended above for downloading mostly
90 satisfies this role in English-speaking countries. In other situations,
91 it may be necessary to download (or even create) additional word
92 lists.</para>
93
94 <para>Note that word lists suitable for spell-checking are not usable
95 as <application>CrackLib</application> word lists in countries with
96 non-Latin based alphabets, because of <quote>word-based keystroke
97 combinations</quote> that make bad passwords.</para>
98 </important>
99
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of CrackLib</title>
104
105 <para>If desired, apply the <application>Heimdal</application> patch
106 (note that with this patch the original library is not affected; this patch
107 only creates an additional library used by the
108 <application>Heimdal</application> password-checking routines):</para>
109
110<screen><userinput>patch -Np1 -i ../cracklib-&cracklib-version;-heimdal-1.patch</userinput></screen>
111
112 <para>Install <application>CrackLib</application> by running the following
113 commands:</para>
114
115<screen><userinput>./configure --prefix=/usr --datadir=/lib &amp;&amp;
116make</userinput></screen>
117
118 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
119
120<screen role="root"><userinput>make install &amp;&amp;
121mv -v /usr/lib/libcrack.so.2* /lib &amp;&amp;
122ln -v -sf ../../lib/libcrack.so.2.8.0 /usr/lib/libcrack.so</userinput></screen>
123
124 <para>The following commands can be used to install the recommended word
125 list. Other word lists (text based, one word per line) can also be used by
126 simply installing them into
127 <filename class='directory'>/usr/share/dict</filename>.</para>
128
129<screen role="root"><userinput>install -v -m644 -D ../cracklib-words.gz \
130 /usr/share/dict/cracklib-words.gz &amp;&amp;
131gunzip -v /usr/share/dict/cracklib-words.gz &amp;&amp;
132ln -v -s cracklib-words /usr/share/dict/words &amp;&amp;
133echo $(hostname) >>/usr/share/dict/cracklib-extra-words &amp;&amp;
134create-cracklib-dict /usr/share/dict/cracklib-words \
135 /usr/share/dict/cracklib-extra-words</userinput></screen>
136
137 <para>If desired, check the proper operation of the library as an
138 unprivileged user using the tests included with the package:</para>
139
140<screen><userinput>make test</userinput></screen>
141
142 </sect2>
143
144 <sect2 role="commands">
145 <title>Command Explanations</title>
146
147 <para><parameter>--datadir=/lib</parameter>: This parameter forces the
148 installation of the <application>CrackLib</application> dictionary to the
149 <filename class='directory'>/lib</filename> hierarchy.</para>
150
151 <para><command>mv -v /usr/lib/libcrack.so.2* /lib</command> and
152 <command>ln -v -sf ../../lib/libcrack.so.2.8.0 ...</command>: These two
153 commands move the <filename class='libraryfile'>libcrack.so.2.8.0</filename>
154 library and associated symlink from
155 <filename class='directory'>/usr/lib</filename> to
156 <filename class='directory'>/lib</filename>, then recreates the
157 <filename class='symlink'>/usr/lib/libcrack.so</filename> symlink pointing
158 to the relocated file.</para>
159
160 <para><command>install -v -m644 -D ...</command>: This command creates the
161 <filename class='directory'>/usr/share/dict</filename> directory (if it
162 doesn't already exist) and installs the compressed word list there.</para>
163
164 <para><command>ln -v -s cracklib-words /usr/share/dict/words</command>: The
165 word list is linked to <filename>/usr/share/dict/words</filename> as
166 historically, <filename>words</filename> is the primary word list in the
167 <filename class="directory">/usr/share/dict</filename> directory. Omit this
168 command if you already have a <filename>/usr/share/dict/words</filename>
169 file installed on your system.</para>
170
171 <para><command>echo $(hostname) >>...</command>: The value of
172 <command>hostname</command> is echoed to a file called
173 <filename>cracklib-extra-words</filename>. This extra file is intended to be
174 a site specific list which includes easy to guess passwords such as company
175 or department names, user's names, product names, computer names, domain
176 names, etc.</para>
177
178 <para><command>create-cracklib-dict ...</command>: This command creates the
179 <application>CrackLib</application> dictionary from the word lists. Modify
180 the command to add any additional word lists you have installed.</para>
181
182 </sect2>
183
184 <sect2 role="content">
185 <title>Contents</title>
186
187 <segmentedlist>
188 <segtitle>Installed Programs</segtitle>
189 <segtitle>Installed Libraries</segtitle>
190 <segtitle>Installed Directories</segtitle>
191
192 <seglistitem>
193 <seg>cracklib-check, cracklib-format, cracklib-packer,
194 cracklib-unpacker and create-cracklib-dict</seg>
195 <seg>libcrack.[so,a] and optionally, libcrack_heimdal.[so,a]</seg>
196 <seg>/lib/cracklib and /usr/share/dict</seg>
197 </seglistitem>
198 </segmentedlist>
199
200 <variablelist>
201 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
202 <?dbfo list-presentation="list"?>
203 <?dbhtml list-presentation="table"?>
204
205 <varlistentry id="create-cracklib-dict">
206 <term><filename>create-cracklib-dict</filename></term>
207 <listitem>
208 <para>is used to create the <application>CrackLib</application>
209 dictionary from the given word list(s).</para>
210 <indexterm zone="cracklib create-cracklib-dict">
211 <primary sortas="b-create-cracklib-dict">create-cracklib-dict</primary>
212 </indexterm>
213 </listitem>
214 </varlistentry>
215
216 <varlistentry id="libcrack">
217 <term><filename class='libraryfile'>libcrack.[so,a]</filename></term>
218 <listitem>
219 <para>provides a fast dictionary lookup method for strong
220 password enforcement.</para>
221 <indexterm zone="cracklib libcrack">
222 <primary sortas="c-libcrack">libcrack.[so,a]</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
227 </variablelist>
228
229 </sect2>
230
231</sect1>
Note: See TracBrowser for help on using the repository browser.