source: postlfs/security/cracklib.xml@ 1976445

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

Modified the CrackLib installation commands to work with the new version

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

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