source: postlfs/security/cracklib.xml@ 0aeb696

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 0aeb696 was 0aeb696, checked in by Randy McMurchy <randy@…>, 18 years ago

Added a comment to each file that may need a mention of a test suite added to it, this allows closing of bug #1697

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

  • Property mode set to 100644
File size: 11.5 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 <!-- Inserted as a reminder to do this. The mention of a test suite
8 is usually right before the root user installation commands. Please
9 delete these 12 (including one blank) lines after you are done.-->
10
11 <!-- Use one of the two mentions below about a test suite,
12 delete the line that is not applicable. Of course, if the
13 test suite uses syntax other than "make check", revise the
14 line to reflect the actual syntax to run the test suite -->
15
16 <!-- <para>This package does not come with a test suite.</para> -->
17 <!-- <para>To test the results, issue: <command>make check</command>.</para> -->
18
19 <!ENTITY cracklib-download-http "http://prdownloads.sourceforge.net/cracklib/cracklib-&cracklib-version;.tar.gz">
20 <!ENTITY cracklib-download-ftp " ">
21 <!ENTITY cracklib-http-md5sum "9a8c9eb26b48787c84024ac779f64bb2">
22 <!ENTITY cracklib-size "575 KB">
23 <!ENTITY cracklib-buildsize "29.2 MB (without Python bindings)">
24 <!ENTITY cracklib-time "0.1 SBU">
25 <!ENTITY crackdict-download "http://prdownloads.sourceforge.net/cracklib/cracklib-words.gz">
26 <!ENTITY crackdict-size "4.4 MB">
27 <!ENTITY crackdict-md5sum "d18e670e5df560a8745e1b4dede8f84f">
28]>
29
30<sect1 id="cracklib" xreflabel="CrackLib-&cracklib-version;">
31 <?dbhtml filename="cracklib.html"?>
32
33 <sect1info>
34 <othername>$LastChangedBy$</othername>
35 <date>$Date$</date>
36 <keywordset>
37 <keyword role="package">cracklib-&cracklib-version;.tar</keyword>
38 <keyword role="ftpdir">cracklib</keyword>
39 </keywordset>
40 </sect1info>
41
42 <title>CrackLib-&cracklib-version;</title>
43
44 <indexterm zone="cracklib">
45 <primary sortas="a-CrackLib">CrackLib</primary>
46 </indexterm>
47
48 <sect2 role="package">
49 <title>Introduction to CrackLib</title>
50
51 <para>The <application>CrackLib</application> package contains a
52 library used to enforce strong passwords by comparing user selected
53 passwords to words in chosen word lists.</para>
54
55 <bridgehead renderas="sect3">Package Information</bridgehead>
56 <itemizedlist spacing="compact">
57 <listitem>
58 <para>Download (HTTP): <ulink url="&cracklib-download-http;"/></para>
59 </listitem>
60 <listitem>
61 <para>Download (FTP): <ulink url="&cracklib-download-ftp;"/></para>
62 </listitem>
63 <listitem>
64 <para>Download MD5 sum: &cracklib-http-md5sum;</para>
65 </listitem>
66 <listitem>
67 <para>Download size: &cracklib-size;</para>
68 </listitem>
69 <listitem>
70 <para>Estimated disk space required: &cracklib-buildsize;</para>
71 </listitem>
72 <listitem>
73 <para>Estimated build time: &cracklib-time;</para>
74 </listitem>
75 </itemizedlist>
76
77 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
78 <itemizedlist spacing='compact'>
79 <listitem>
80 <para>Recommended word list for English-speaking countries (size:
81 &crackdict-size;; md5sum: &crackdict-md5sum;):
82 <ulink url="&crackdict-download;"/></para>
83 </listitem>
84 <listitem>
85 <para>Required patch to create a library used with the Heimdal
86 Kerberos 5 package: <ulink
87 url="&patch-root;/cracklib-&cracklib-version;-heimdal-1.patch"/></para>
88 </listitem>
89 </itemizedlist>
90
91 <para>There are additional word lists available for download, e.g., from
92 <ulink url="http://www.cotse.com/tools/wordlists.htm"/>.
93 <application>CrackLib</application> can utilize as many, or as few word
94 lists you choose to install.</para>
95
96 <important>
97 <para>Users tend to base their passwords on regular words of the spoken
98 language, and crackers know that. <application>CrackLib</application> is
99 intended to filter out such bad passwords at the source using a
100 dictionary created from word lists. To accomplish this, the word list(s)
101 for use with <application>CrackLib</application> must be an exhaustive
102 list of words and word-based keystroke combinations likely to be chosen
103 by users of the system as (guessable) passwords.</para>
104
105 <para>The default word list recommended above for downloading mostly
106 satisfies this role in English-speaking countries. In other situations,
107 it may be necessary to download (or even create) additional word
108 lists.</para>
109
110 <para>Note that word lists suitable for spell-checking are not usable
111 as <application>CrackLib</application> word lists in countries with
112 non-Latin based alphabets, because of <quote>word-based keystroke
113 combinations</quote> that make bad passwords.</para>
114 </important>
115
116 <bridgehead renderas="sect3">CrackLib Dependencies</bridgehead>
117
118 <bridgehead renderas="sect4">Optional</bridgehead>
119 <para role="optional"><xref linkend="python"/></para>
120
121 <para condition="html" role="usernotes">User Notes:
122 <ulink url="&blfs-wiki;/cracklib"/></para>
123
124 </sect2>
125
126 <sect2 role="installation">
127 <title>Installation of CrackLib</title>
128
129 <para>If desired, apply the <application>Heimdal</application> patch
130 (note that with this patch the original library is not affected; this patch
131 only creates an additional library used by the
132 <application>Heimdal</application> password-checking routines):</para>
133
134<screen><userinput>patch -Np1 -i ../cracklib-&cracklib-version;-heimdal-1.patch</userinput></screen>
135
136 <para>Install <application>CrackLib</application> by running the following
137 commands:</para>
138
139<screen><userinput>./configure --prefix=/usr \
140 --with-default-dict=/lib/cracklib/pw_dict &amp;&amp;
141make</userinput></screen>
142
143 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
144
145<screen role="root"><userinput>make install &amp;&amp;
146mv -v /usr/lib/libcrack.so.2* /lib &amp;&amp;
147ln -v -sf ../../lib/libcrack.so.2.8.0 /usr/lib/libcrack.so</userinput></screen>
148
149 <para>Issue the following commands as the
150 <systemitem class="username">root</systemitem> user to install the
151 recommended word list and create the <application>CrackLib</application>
152 dictionary. Other word lists (text based, one word per line) can also be
153 used by simply installing them into
154 <filename class='directory'>/usr/share/dict</filename> and adding them
155 to the <command>create-cracklib-dict</command> command.</para>
156
157<screen role="root"><userinput>install -v -m644 -D ../cracklib-words.gz \
158 /usr/share/dict/cracklib-words.gz &amp;&amp;
159gunzip -v /usr/share/dict/cracklib-words.gz &amp;&amp;
160ln -v -s cracklib-words /usr/share/dict/words &amp;&amp;
161echo $(hostname) >>/usr/share/dict/cracklib-extra-words &amp;&amp;
162install -v -m755 -d /lib/cracklib &amp;&amp;
163create-cracklib-dict /usr/share/dict/cracklib-words \
164 /usr/share/dict/cracklib-extra-words</userinput></screen>
165
166 <para>If desired, check the proper operation of the library as an
167 unprivileged user using the tests included with the package:</para>
168
169<screen><userinput>make test</userinput></screen>
170
171 <important>
172 <para>If you are installing <application>CrackLib</application> after
173 your LFS system has been completed and you have the
174 <application>Shadow</application> package installed, you must
175 reinstall <xref linkend="shadow"/> if you wish to provide strong
176 password support on your system. If you are now going to install the
177 <xref linkend="linux-pam"/> package, you may disregard this note as
178 <application>Shadow</application> will be reinstalled after the
179 <application>Linux-PAM</application> installation.</para>
180 </important>
181
182 </sect2>
183
184 <sect2 role="commands">
185 <title>Command Explanations</title>
186
187 <para><parameter>--with-default-dict=/lib/cracklib/pw_dict</parameter>:
188 This parameter forces the installation of the
189 <application>CrackLib</application> dictionary to the
190 <filename class='directory'>/lib</filename> hierarchy.</para>
191
192 <para><command>mv -v /usr/lib/libcrack.so.2* /lib</command> and
193 <command>ln -v -sf ../../lib/libcrack.so.2.8.0 ...</command>: These two
194 commands move the <filename class='libraryfile'>libcrack.so.2.8.0</filename>
195 library and associated symlink from
196 <filename class='directory'>/usr/lib</filename> to
197 <filename class='directory'>/lib</filename>, then recreates the
198 <filename class='symlink'>/usr/lib/libcrack.so</filename> symlink pointing
199 to the relocated file.</para>
200
201 <para><command>install -v -m644 -D ...</command>: This command creates the
202 <filename class='directory'>/usr/share/dict</filename> directory (if it
203 doesn't already exist) and installs the compressed word list there.</para>
204
205 <para><command>ln -v -s cracklib-words /usr/share/dict/words</command>: The
206 word list is linked to <filename>/usr/share/dict/words</filename> as
207 historically, <filename>words</filename> is the primary word list in the
208 <filename class="directory">/usr/share/dict</filename> directory. Omit this
209 command if you already have a <filename>/usr/share/dict/words</filename>
210 file installed on your system.</para>
211
212 <para><command>echo $(hostname) >>...</command>: The value of
213 <command>hostname</command> is echoed to a file called
214 <filename>cracklib-extra-words</filename>. This extra file is intended to be
215 a site specific list which includes easy to guess passwords such as company
216 or department names, user's names, product names, computer names, domain
217 names, etc.</para>
218
219 <para><command>create-cracklib-dict ...</command>: This command creates the
220 <application>CrackLib</application> dictionary from the word lists. Modify
221 the command to add any additional word lists you have installed.</para>
222
223 </sect2>
224
225 <sect2 role="content">
226 <title>Contents</title>
227
228 <segmentedlist>
229 <segtitle>Installed Programs</segtitle>
230 <segtitle>Installed Libraries</segtitle>
231 <segtitle>Installed Directories</segtitle>
232
233 <seglistitem>
234 <seg>cracklib-check, cracklib-format, cracklib-packer,
235 cracklib-unpacker and create-cracklib-dict</seg>
236 <seg>libcrack.{so,a} and optionally, libcrack_heimdal.{so,a} and
237 cracklibmodule.{so,a} <application>Python</application> module</seg>
238 <seg>/lib/cracklib, /usr/share/dict and /usr/share/cracklib</seg>
239 </seglistitem>
240 </segmentedlist>
241
242 <variablelist>
243 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
244 <?dbfo list-presentation="list"?>
245 <?dbhtml list-presentation="table"?>
246
247 <varlistentry id="create-cracklib-dict">
248 <term><filename>create-cracklib-dict</filename></term>
249 <listitem>
250 <para>is used to create the <application>CrackLib</application>
251 dictionary from the given word list(s).</para>
252 <indexterm zone="cracklib create-cracklib-dict">
253 <primary sortas="b-create-cracklib-dict">create-cracklib-dict</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="libcrack">
259 <term><filename class='libraryfile'>libcrack.{so,a}</filename></term>
260 <listitem>
261 <para>provides a fast dictionary lookup method for strong
262 password enforcement.</para>
263 <indexterm zone="cracklib libcrack">
264 <primary sortas="c-libcrack">libcrack.{so,a}</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 </variablelist>
270
271 </sect2>
272
273</sect1>
Note: See TracBrowser for help on using the repository browser.