source: postlfs/security/cracklib.xml@ 14e13a0c

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

Updated to CrackLib-2.8.6

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

  • Property mode set to 100644
File size: 9.6 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 "3cef136fe33fc40c57f7514d9aa90c51">
10 <!ENTITY cracklib-size "574 KB">
11 <!ENTITY cracklib-buildsize "28.7 MB (without Python bindings)">
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 <bridgehead renderas="sect3">CrackLib Dependencies</bridgehead>
101
102 <bridgehead renderas="sect4">Optional</bridgehead>
103 <para><xref linkend="python"/></para>
104
105 </sect2>
106
107 <sect2 role="installation">
108 <title>Installation of CrackLib</title>
109
110 <para>If desired, apply the <application>Heimdal</application> patch
111 (note that with this patch the original library is not affected; this patch
112 only creates an additional library used by the
113 <application>Heimdal</application> password-checking routines):</para>
114
115<screen><userinput>patch -Np1 -i ../cracklib-&cracklib-version;-heimdal-1.patch</userinput></screen>
116
117 <para>Install <application>CrackLib</application> by running the following
118 commands:</para>
119
120<screen><userinput>./configure --prefix=/usr --datadir=/lib &amp;&amp;
121make</userinput></screen>
122
123 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
124
125<screen role="root"><userinput>make install &amp;&amp;
126mv -v /usr/lib/libcrack.so.2* /lib &amp;&amp;
127ln -v -sf ../../lib/libcrack.so.2.8.0 /usr/lib/libcrack.so</userinput></screen>
128
129 <para>The following commands can be used to install the recommended word
130 list. Other word lists (text based, one word per line) can also be used by
131 simply installing them into
132 <filename class='directory'>/usr/share/dict</filename>.</para>
133
134<screen role="root"><userinput>install -v -m644 -D ../cracklib-words.gz \
135 /usr/share/dict/cracklib-words.gz &amp;&amp;
136gunzip -v /usr/share/dict/cracklib-words.gz &amp;&amp;
137ln -v -s cracklib-words /usr/share/dict/words &amp;&amp;
138echo $(hostname) >>/usr/share/dict/cracklib-extra-words &amp;&amp;
139create-cracklib-dict /usr/share/dict/cracklib-words \
140 /usr/share/dict/cracklib-extra-words</userinput></screen>
141
142 <para>If desired, check the proper operation of the library as an
143 unprivileged user using the tests included with the package:</para>
144
145<screen><userinput>make test</userinput></screen>
146
147 </sect2>
148
149 <sect2 role="commands">
150 <title>Command Explanations</title>
151
152 <para><parameter>--datadir=/lib</parameter>: This parameter forces the
153 installation of the <application>CrackLib</application> dictionary to the
154 <filename class='directory'>/lib</filename> hierarchy.</para>
155
156 <para><command>mv -v /usr/lib/libcrack.so.2* /lib</command> and
157 <command>ln -v -sf ../../lib/libcrack.so.2.8.0 ...</command>: These two
158 commands move the <filename class='libraryfile'>libcrack.so.2.8.0</filename>
159 library and associated symlink from
160 <filename class='directory'>/usr/lib</filename> to
161 <filename class='directory'>/lib</filename>, then recreates the
162 <filename class='symlink'>/usr/lib/libcrack.so</filename> symlink pointing
163 to the relocated file.</para>
164
165 <para><command>install -v -m644 -D ...</command>: This command creates the
166 <filename class='directory'>/usr/share/dict</filename> directory (if it
167 doesn't already exist) and installs the compressed word list there.</para>
168
169 <para><command>ln -v -s cracklib-words /usr/share/dict/words</command>: The
170 word list is linked to <filename>/usr/share/dict/words</filename> as
171 historically, <filename>words</filename> is the primary word list in the
172 <filename class="directory">/usr/share/dict</filename> directory. Omit this
173 command if you already have a <filename>/usr/share/dict/words</filename>
174 file installed on your system.</para>
175
176 <para><command>echo $(hostname) >>...</command>: The value of
177 <command>hostname</command> is echoed to a file called
178 <filename>cracklib-extra-words</filename>. This extra file is intended to be
179 a site specific list which includes easy to guess passwords such as company
180 or department names, user's names, product names, computer names, domain
181 names, etc.</para>
182
183 <para><command>create-cracklib-dict ...</command>: This command creates the
184 <application>CrackLib</application> dictionary from the word lists. Modify
185 the command to add any additional word lists you have installed.</para>
186
187 </sect2>
188
189 <sect2 role="content">
190 <title>Contents</title>
191
192 <segmentedlist>
193 <segtitle>Installed Programs</segtitle>
194 <segtitle>Installed Libraries</segtitle>
195 <segtitle>Installed Directories</segtitle>
196
197 <seglistitem>
198 <seg>cracklib-check, cracklib-format, cracklib-packer,
199 cracklib-unpacker and create-cracklib-dict</seg>
200 <seg>libcrack.[so,a] and optionally, libcrack_heimdal.[so,a]</seg>
201 <seg>/lib/cracklib and /usr/share/dict</seg>
202 </seglistitem>
203 </segmentedlist>
204
205 <variablelist>
206 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
207 <?dbfo list-presentation="list"?>
208 <?dbhtml list-presentation="table"?>
209
210 <varlistentry id="create-cracklib-dict">
211 <term><filename>create-cracklib-dict</filename></term>
212 <listitem>
213 <para>is used to create the <application>CrackLib</application>
214 dictionary from the given word list(s).</para>
215 <indexterm zone="cracklib create-cracklib-dict">
216 <primary sortas="b-create-cracklib-dict">create-cracklib-dict</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="libcrack">
222 <term><filename class='libraryfile'>libcrack.[so,a]</filename></term>
223 <listitem>
224 <para>provides a fast dictionary lookup method for strong
225 password enforcement.</para>
226 <indexterm zone="cracklib libcrack">
227 <primary sortas="c-libcrack">libcrack.[so,a]</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
232 </variablelist>
233
234 </sect2>
235
236</sect1>
Note: See TracBrowser for help on using the repository browser.