source: postlfs/security/cracklib.xml@ 15b3bc29

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 15b3bc29 was 15b3bc29, checked in by Randy McMurchy <randy@…>, 17 years ago

Modified all the Sourceforge download links to use the new standard Sourceforge has implemented

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

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