source: postlfs/security/cracklib.xml@ cd94015

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.0 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since cd94015 was cd94015, checked in by Pierre Labastie <pieere@…>, 5 years ago

Typo in cracklib url

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

  • Property mode set to 100644
File size: 12.1 KB
RevLine 
[b4b71892]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[b4b71892]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[cd94015]7 <!ENTITY cracklib-url "https://github.com/cracklib/cracklib/releases/download/">
[9912ce81]8
[a754697b]9 <!ENTITY cracklib-download-http "&cracklib-url;v&cracklib-version;/cracklib-&cracklib-version;.tar.bz2">
[306fb0e]10 <!ENTITY cracklib-download-ftp " ">
[5cd7055]11 <!ENTITY cracklib-md5sum "0d68de25332cee5660850528a385427f">
12 <!ENTITY cracklib-size "592 KB">
13 <!ENTITY cracklib-buildsize "4.2 MB">
[9912ce81]14 <!ENTITY cracklib-time "less than 0.1 SBU">
[1f4d911]15
[a754697b]16 <!ENTITY crackdict-download "&cracklib-url;/v&cracklib-version;/cracklib-words-&cracklib-version;.bz2">
[5cd7055]17 <!ENTITY crackdict-size "6.7 MB">
18 <!ENTITY crackdict-md5sum "94e9963e4786294f7fb0f2efd7618551">
[b4b71892]19]>
20
[8b1b2dc7]21<sect1 id="cracklib" xreflabel="CrackLib-&cracklib-version;">
[9623b6e8]22 <?dbhtml filename="cracklib.html"?>
23
24 <sect1info>
25 <othername>$LastChangedBy$</othername>
26 <date>$Date$</date>
27 </sect1info>
28
[8b1b2dc7]29 <title>CrackLib-&cracklib-version;</title>
[9623b6e8]30
31 <indexterm zone="cracklib">
[8b1b2dc7]32 <primary sortas="a-CrackLib">CrackLib</primary>
[9623b6e8]33 </indexterm>
34
35 <sect2 role="package">
[8b1b2dc7]36 <title>Introduction to CrackLib</title>
[9623b6e8]37
[8b1b2dc7]38 <para>The <application>CrackLib</application> package contains a
[0afcfa88]39 library used to enforce strong passwords by comparing user selected
[8b1b2dc7]40 passwords to words in chosen word lists.</para>
[9623b6e8]41
[38489aa0]42 &lfs84_checked;
[5f4181d]43
[9623b6e8]44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>Download (HTTP): <ulink url="&cracklib-download-http;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download (FTP): <ulink url="&cracklib-download-ftp;"/></para>
51 </listitem>
52 <listitem>
[84fcbc2]53 <para>Download MD5 sum: &cracklib-md5sum;</para>
[9623b6e8]54 </listitem>
55 <listitem>
56 <para>Download size: &cracklib-size;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated disk space required: &cracklib-buildsize;</para>
60 </listitem>
61 <listitem>
62 <para>Estimated build time: &cracklib-time;</para>
63 </listitem>
64 </itemizedlist>
65
66 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[8f1699f2]67 <itemizedlist spacing="compact">
[9623b6e8]68 <listitem>
[62494cc]69 <para>Recommended word list for English-speaking countries (size:
[22861b3]70 &crackdict-size;; md5sum: &crackdict-md5sum;):
71 <ulink url="&crackdict-download;"/></para>
72 </listitem>
[9623b6e8]73 </itemizedlist>
74
[62494cc]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
[22861b3]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>
[9623b6e8]99
[14e13a0c]100 <bridgehead renderas="sect3">CrackLib Dependencies</bridgehead>
[bccbdaea]101
[14e13a0c]102 <bridgehead renderas="sect4">Optional</bridgehead>
[8f1699f2]103 <para role="optional">
104 <xref linkend="python2"/>
105 </para>
[14e13a0c]106
[3597eb6]107 <para condition="html" role="usernotes">User Notes:
[8f1699f2]108 <ulink url="&blfs-wiki;/cracklib"/>
109 </para>
[9623b6e8]110 </sect2>
111
112 <sect2 role="installation">
[8b1b2dc7]113 <title>Installation of CrackLib</title>
[4f65b2f]114
[8b1b2dc7]115 <para>Install <application>CrackLib</application> by running the following
116 commands:</para>
[b4b71892]117
[806e763]118<screen><userinput>sed -i '/skipping/d' util/packer.c &amp;&amp;
119
120./configure --prefix=/usr \
121 --disable-static \
122 --with-default-dict=/lib/cracklib/pw_dict &amp;&amp;
[8b1b2dc7]123make</userinput></screen>
[b4b71892]124
[8b1b2dc7]125 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
[9623b6e8]126
[806e763]127<screen role="root"><userinput>make install &amp;&amp;
[7cadfea]128mv -v /usr/lib/libcrack.so.* /lib &amp;&amp;
129ln -sfv ../../lib/$(readlink /usr/lib/libcrack.so) /usr/lib/libcrack.so</userinput></screen>
[22861b3]130
[1976445]131 <para>Issue the following commands as the
132 <systemitem class="username">root</systemitem> user to install the
133 recommended word list and create the <application>CrackLib</application>
134 dictionary. Other word lists (text based, one word per line) can also be
135 used by simply installing them into
[8f1699f2]136 <filename class="directory">/usr/share/dict</filename> and adding them
[1976445]137 to the <command>create-cracklib-dict</command> command.</para>
[22861b3]138
[5cd7055]139<screen role="root"><userinput>install -v -m644 -D ../cracklib-words-&cracklib-version;.bz2 \
140 /usr/share/dict/cracklib-words.bz2 &amp;&amp;
[806e763]141
[5cd7055]142bunzip2 -v /usr/share/dict/cracklib-words.bz2 &amp;&amp;
[efd93087]143ln -v -sf cracklib-words /usr/share/dict/words &amp;&amp;
144echo $(hostname) >> /usr/share/dict/cracklib-extra-words &amp;&amp;
145install -v -m755 -d /lib/cracklib &amp;&amp;
[806e763]146
147create-cracklib-dict /usr/share/dict/cracklib-words \
[efd93087]148 /usr/share/dict/cracklib-extra-words</userinput></screen>
[8b1b2dc7]149
150 <para>If desired, check the proper operation of the library as an
[a4440544]151 unprivileged user by issuing the following command:</para>
152
153<screen><userinput>make test</userinput></screen>
[9623b6e8]154
[c6bdcb0]155 <important>
156 <para>If you are installing <application>CrackLib</application> after
157 your LFS system has been completed and you have the
158 <application>Shadow</application> package installed, you must
159 reinstall <xref linkend="shadow"/> if you wish to provide strong
160 password support on your system. If you are now going to install the
161 <xref linkend="linux-pam"/> package, you may disregard this note as
162 <application>Shadow</application> will be reinstalled after the
163 <application>Linux-PAM</application> installation.</para>
164 </important>
165
[9623b6e8]166 </sect2>
167
168 <sect2 role="commands">
169 <title>Command Explanations</title>
170
[806e763]171 <para><command>sed -i '/skipping/d' util/packer.c</command>:
172 Remove a meaningless warning.</para>
173
[1976445]174 <para><parameter>--with-default-dict=/lib/cracklib/pw_dict</parameter>:
175 This parameter forces the installation of the
176 <application>CrackLib</application> dictionary to the
[8f1699f2]177 <filename class="directory">/lib</filename> hierarchy.</para>
178
179 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
180 href="../../xincludes/static-libraries.xml"/>
[8b1b2dc7]181
182 <para><command>mv -v /usr/lib/libcrack.so.2* /lib</command> and
[5f4181d]183 <command>ln -v -sf ../../lib/libcrack.so.2.8.1 ...</command>: These two
[9912ce81]184 commands move the <filename class="libraryfile">libcrack.so.2.9.0</filename>
[8b1b2dc7]185 library and associated symlink from
[8f1699f2]186 <filename class="directory">/usr/lib</filename> to
187 <filename class="directory">/lib</filename>, then recreates the
188 <filename class="symlink">/usr/lib/libcrack.so</filename> symlink pointing
[8b1b2dc7]189 to the relocated file.</para>
190
191 <para><command>install -v -m644 -D ...</command>: This command creates the
[8f1699f2]192 <filename class="directory">/usr/share/dict</filename> directory (if it
[8b1b2dc7]193 doesn't already exist) and installs the compressed word list there.</para>
194
195 <para><command>ln -v -s cracklib-words /usr/share/dict/words</command>: The
196 word list is linked to <filename>/usr/share/dict/words</filename> as
197 historically, <filename>words</filename> is the primary word list in the
198 <filename class="directory">/usr/share/dict</filename> directory. Omit this
199 command if you already have a <filename>/usr/share/dict/words</filename>
200 file installed on your system.</para>
201
202 <para><command>echo $(hostname) >>...</command>: The value of
203 <command>hostname</command> is echoed to a file called
204 <filename>cracklib-extra-words</filename>. This extra file is intended to be
205 a site specific list which includes easy to guess passwords such as company
[45db70f]206 or department names, user names, product names, computer names, domain
[8b1b2dc7]207 names, etc.</para>
208
209 <para><command>create-cracklib-dict ...</command>: This command creates the
[22861b3]210 <application>CrackLib</application> dictionary from the word lists. Modify
211 the command to add any additional word lists you have installed.</para>
[9623b6e8]212
213 </sect2>
214
215 <sect2 role="content">
216 <title>Contents</title>
217
218 <segmentedlist>
219 <segtitle>Installed Programs</segtitle>
220 <segtitle>Installed Libraries</segtitle>
[d80152af]221 <segtitle>Installed Directories</segtitle>
[9623b6e8]222
223 <seglistitem>
[8b1b2dc7]224 <seg>cracklib-check, cracklib-format, cracklib-packer,
225 cracklib-unpacker and create-cracklib-dict</seg>
[d456f78c]226
[8f1699f2]227 <seg>libcrack.so and the _cracklibmodule.so
[d456f78c]228 <application>Python</application> module</seg>
[0d7900a]229
[1976445]230 <seg>/lib/cracklib, /usr/share/dict and /usr/share/cracklib</seg>
[9623b6e8]231 </seglistitem>
232 </segmentedlist>
233
234 <variablelist>
235 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
236 <?dbfo list-presentation="list"?>
237 <?dbhtml list-presentation="table"?>
238
[efd93087]239 <varlistentry id="cracklib-check">
240 <term><command>cracklib-check</command></term>
241 <listitem>
242 <para>is used to determine if a password is strong.</para>
243 <indexterm zone="cracklib cracklib-check">
244 <primary sortas="b-cracklib-check">cracklib-check</primary>
245 </indexterm>
246 </listitem>
247 </varlistentry>
248
[c2de366]249 <varlistentry id="cracklib-format">
250 <term><command>cracklib-format</command></term>
251 <listitem>
252 <para>is used to format text files (lowercases all words,
[45db70f]253 removes control characters and sorts the lists).</para>
[c2de366]254 <indexterm zone="cracklib cracklib-format">
255 <primary sortas="b-cracklib-format">cracklib-format</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="cracklib-packer">
261 <term><command>cracklib-packer</command></term>
262 <listitem>
263 <para>creates a database with words read from standard input.</para>
264 <indexterm zone="cracklib cracklib-packer">
265 <primary sortas="b-cracklib-packer">cracklib-packer</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="cracklib-unpacker">
271 <term><command>cracklib-unpacker</command></term>
272 <listitem>
273 <para>displays on standard output the database specified.</para>
274 <indexterm zone="cracklib cracklib-packer">
275 <primary sortas="b-cracklib-packer">cracklib-packer</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
[8b1b2dc7]280 <varlistentry id="create-cracklib-dict">
[0170790e]281 <term><command>create-cracklib-dict</command></term>
[8b1b2dc7]282 <listitem>
283 <para>is used to create the <application>CrackLib</application>
284 dictionary from the given word list(s).</para>
285 <indexterm zone="cracklib create-cracklib-dict">
286 <primary sortas="b-create-cracklib-dict">create-cracklib-dict</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
[9623b6e8]291 <varlistentry id="libcrack">
[8f1699f2]292 <term><filename class="libraryfile">libcrack.so</filename></term>
[9623b6e8]293 <listitem>
[8b1b2dc7]294 <para>provides a fast dictionary lookup method for strong
[9623b6e8]295 password enforcement.</para>
296 <indexterm zone="cracklib libcrack">
[d456f78c]297 <primary sortas="c-libcrack">libcrack.so</primary>
[9623b6e8]298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 </variablelist>
303
304 </sect2>
[fa48bf3]305
306</sect1>
Note: See TracBrowser for help on using the repository browser.