Difference between revisions of "Cracklib"

From CBLFS
Jump to navigationJump to search
(I added notes next to the source file links, explaining them.)
(Update where python modules install)
 
(29 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{| style="text-align: left; background-color: AliceBlue;"
 
{| style="text-align: left; background-color: AliceBlue;"
|-
+
|-valign="top"
 
!Download Source:
 
!Download Source:
|-
+
|-valign="top"
| http://prdownloads.sourceforge.net/cracklib/cracklib-2.8.9.tar.gz
+
| http://prdownloads.sourceforge.net/cracklib/cracklib-{{Cracklib-Version}}.tar.gz
|-
+
|-valign="top"
| http://prdownloads.sourceforge.net/cracklib/cracklib-words.gz (Recommended word list for English-speaking countries)
+
| http://downloads.sourceforge.net/cracklib/cracklib-words-{{Cracklib-Words-Version}}.gz (Recommended word list for English-speaking countries)
|-
+
|-valign="top"
 
!Download Optional Patch:
 
!Download Optional Patch:
|-
+
|-valign="top"
| http://www.linuxfromscratch.org/patches/blfs/svn/cracklib-2.8.9-heimdal-1.patch (Required patch to create a library used with the Heimdal Kerberos 5 package)
+
| http://svn.cross-lfs.org/svn/repos/patches/cracklib/cracklib-{{Cracklib-Version}}-heimdal-1.patch (Required patch to create a library used with the Heimdal Kerberos 5 package)
 
|}
 
|}
  
 
----
 
----
  
== Introduction to CrackLib ==
+
{{Package-Introduction|Cracklib is used to enforce strong passwords. It uses its dictionary of words to verify that passwords are difficult to crack.|http://sourceforge.net/projects/cracklib/}}
 
 
The CrackLib package contains a library used to enforce strong passwords by comparing user selected passwords to words in chosen word lists.
 
  
 
== Dependencies ==
 
== Dependencies ==
Line 27: Line 25:
 
If desired, apply the Heimdal  patch (note that with this patch the original library is not affected; this patch only creates an additional library used by the Heimdal password-checking routines):
 
If desired, apply the Heimdal  patch (note that with this patch the original library is not affected; this patch only creates an additional library used by the Heimdal password-checking routines):
  
  patch -Np1 -i ../cracklib-2.8.9-heimdal-1.patch
+
  patch -Np1 -i ../cracklib-{{Cracklib-Version}}-heimdal-1.patch
  
 
Configure and compile the package:
 
Configure and compile the package:
Line 37: Line 35:
  
 
  make install &&
 
  make install &&
  LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut  -f2 -d" "` &&
+
  mv -v /usr/lib/libcrack.so.2.8.1 /lib &&
mv /usr/lib/$LIBNAME /lib &&
+
  ln -svf ../../lib/libcrack.so.2.8.1 /usr/lib/libcrack.so &&
LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" "` &&
+
ldconfig
mv /usr/lib/$LIBNAME /lib &&
 
  ln -sf ../../lib/$LIBNAME /usr/lib/libcrack.so
 
  
 
Install the dictionary:
 
Install the dictionary:
  
  install -m644 -D ../cracklib-words.gz /usr/share/dict/cracklib-words.gz
+
  install -v -m644 -D ../cracklib-words-{{Cracklib-Words-Version}}.gz /usr/share/dict/cracklib-words.gz
 
  gunzip -f /usr/share/dict/cracklib-words.gz
 
  gunzip -f /usr/share/dict/cracklib-words.gz
  ln -sf cracklib-words /usr/share/dict/words
+
  ln -svf cracklib-words /usr/share/dict/words
  echo $(hostname) >>/usr/share/dict/cracklib-extra-words &&
+
  install -v -m755 -d /lib/cracklib
install -m755 -d /lib/cracklib
+
  create-cracklib-dict /usr/share/dict/cracklib-words
  create-cracklib-dict /usr/share/dict/cracklib-words /usr/share/dict/cracklib-extra-words
 
  
 
== Multilib ==
 
== Multilib ==
Line 56: Line 51:
 
If desired, apply the Heimdal  patch (note that with this patch the original library is not affected; this patch only creates an additional library used by the Heimdal password-checking routines):
 
If desired, apply the Heimdal  patch (note that with this patch the original library is not affected; this patch only creates an additional library used by the Heimdal password-checking routines):
  
  patch -Np1 -i ../cracklib-2.8.9-heimdal-1.patch
+
  patch -Np1 -i ../cracklib-{{Cracklib-Version}}-heimdal-1.patch
  
 
=== 32Bit ===
 
=== 32Bit ===
Line 68: Line 63:
  
 
  make install &&
 
  make install &&
  LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f2 -d" "` &&
+
  mv -v /usr/lib/libcrack.so.2.8.1 /lib &&
mv /usr/lib/$LIBNAME /lib &&
+
  ln -svf ../../lib/libcrack.so.2.8.1 /usr/lib/libcrack.so &&
LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" "` &&
+
ldconfig
mv /usr/lib/$LIBNAME /lib &&
 
  ln -sf ../../lib/$LIBNAME /usr/lib/libcrack.so
 
  
 
=== N32 ===
 
=== N32 ===
Line 80: Line 73:
 
  CC="gcc ${BUILDN32}" USE_ARCH=n32 ./configure --prefix=/usr \
 
  CC="gcc ${BUILDN32}" USE_ARCH=n32 ./configure --prefix=/usr \
 
   --libdir=/usr/lib32 -with-default-dict=/lib/cracklib/pw_dict &&
 
   --libdir=/usr/lib32 -with-default-dict=/lib/cracklib/pw_dict &&
 +
sed -i 's@prefix}/lib@&32@g' dicts/Makefile doc/Makefile lib/Makefile \
 +
      m4/Makefile Makefile python/Makefile util/Makefile &&
 
  make
 
  make
  
Line 85: Line 80:
  
 
  make install &&
 
  make install &&
  LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f2 -d" "` &&
+
  mv -v /usr/lib32/libcrack.so.2.8.1 /lib32 &&
mv /usr/lib/$LIBNAME /lib32 &&
+
  ln -svf ../../lib32/libcrack.so.2.8.1 /usr/lib32/libcrack.so &&
LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" "` &&
+
ldconfig
mv /usr/lib/$LIBNAME /lib32 &&
 
  ln -sf ../../lib/$LIBNAME /usr/lib32/libcrack.so
 
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 95: Line 88:
 
Configure and compile the package:
 
Configure and compile the package:
  
  CC="gcc ${BUILDN64}" USE_ARCH=64 ./configure --prefix=/usr \
+
  CC="gcc ${BUILD64}" USE_ARCH=64 ./configure --prefix=/usr \
 
   --libdir=/usr/lib64 -with-default-dict=/lib/cracklib/pw_dict &&
 
   --libdir=/usr/lib64 -with-default-dict=/lib/cracklib/pw_dict &&
 +
sed -i 's@prefix}/lib@&64@g' dicts/Makefile doc/Makefile lib/Makefile \
 +
      m4/Makefile Makefile python/Makefile util/Makefile &&
 
  make
 
  make
  
Line 102: Line 97:
  
 
  make install &&
 
  make install &&
  LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f2 -d" "` &&
+
  mv -v /usr/lib64/libcrack.so.2.8.1 /lib64 &&
mv /usr/lib/$LIBNAME /lib64 &&
+
  ln -svf ../../lib64/libcrack.so.2.8.1 /usr/lib64/libcrack.so &&
LIBNAME=`cat lib/libcrack.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" "` &&
+
ldconfig
mv /usr/lib/$LIBNAME /lib64 &&
 
  ln -sf ../../lib/$LIBNAME /usr/lib64/libcrack.so
 
  
 
Install the dictionary:
 
Install the dictionary:
  
  install -m644 -D ../cracklib-words.gz /usr/share/dict/cracklib-words.gz
+
  install -v -m644 -D ../cracklib-words-{{Cracklib-Words-Version}}.gz /usr/share/dict/cracklib-words.gz
 
  gunzip -f /usr/share/dict/cracklib-words.gz
 
  gunzip -f /usr/share/dict/cracklib-words.gz
  ln -sf cracklib-words /usr/share/dict/words
+
  ln -svf cracklib-words /usr/share/dict/words
  install -m755 -d /lib/cracklib
+
  install -v -m755 -d /lib/cracklib
  create-cracklib-dict /usr/share/dict/cracklib-words /usr/share/dict/cracklib-extra-words
+
  create-cracklib-dict /usr/share/dict/cracklib-words
  
 
= Contents =
 
= Contents =
  
Installed Programs: cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, create-cracklib-dict
+
{| style="text-align: left;"
 
+
|-
Installed Libraries: libcrack.{so,a}, libcrack_heimdal.{so,a}, cracklibmodule.{so,a} Python Modules
+
! Installed Programs:
 
+
| cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, create-cracklib-dict
Installed Directories: /lib/cracklib, /usr/share/dict, /usr/share/cracklib
+
|-
 +
! Installed Libraries:
 +
| libcrack.{so,a}, libcrack_heimdal.{so,a}, cracklibmodule.{so,a} Python Modules
 +
|-
 +
! Installed Directories:
 +
|/lib/cracklib, /usr/share/dict, /usr/share/cracklib
 +
|}
  
 
=== Short Descriptions ===
 
=== Short Descriptions ===
  
create-cracklib-dict: is used to create the CrackLib dictionary from the given word list(s).  
+
{| style="text-align: left;"
 +
|-
 +
! create-cracklib-dict
 +
| is used to create the CrackLib dictionary from the given word list(s).  
 +
|-
 +
! libcrack.{so,a}
 +
| provides a fast dictionary lookup method for strong password enforcement.
 +
|}
  
libcrack.{so,a}: provides a fast dictionary lookup method for strong password enforcement.
+
[[Category:Security]]

Latest revision as of 19:45, 21 September 2012

Download Source:
http://prdownloads.sourceforge.net/cracklib/cracklib-2.8.22.tar.gz
http://downloads.sourceforge.net/cracklib/cracklib-words-20080507.gz (Recommended word list for English-speaking countries)
Download Optional Patch:
http://svn.cross-lfs.org/svn/repos/patches/cracklib/cracklib-2.8.22-heimdal-1.patch (Required patch to create a library used with the Heimdal Kerberos 5 package)

Introduction to Cracklib

Cracklib is used to enforce strong passwords. It uses its dictionary of words to verify that passwords are difficult to crack.

Project Homepage: http://sourceforge.net/projects/cracklib/

Dependencies

Optional

Non-Multilib

If desired, apply the Heimdal patch (note that with this patch the original library is not affected; this patch only creates an additional library used by the Heimdal password-checking routines):

patch -Np1 -i ../cracklib-2.8.22-heimdal-1.patch

Configure and compile the package:

./configure --prefix=/usr -with-default-dict=/lib/cracklib/pw_dict &&
make

Install the package:

make install &&
mv -v /usr/lib/libcrack.so.2.8.1 /lib &&
ln -svf ../../lib/libcrack.so.2.8.1 /usr/lib/libcrack.so &&
ldconfig

Install the dictionary:

install -v -m644 -D ../cracklib-words-20080507.gz /usr/share/dict/cracklib-words.gz
gunzip -f /usr/share/dict/cracklib-words.gz
ln -svf cracklib-words /usr/share/dict/words
install -v -m755 -d /lib/cracklib
create-cracklib-dict /usr/share/dict/cracklib-words

Multilib

If desired, apply the Heimdal patch (note that with this patch the original library is not affected; this patch only creates an additional library used by the Heimdal password-checking routines):

patch -Np1 -i ../cracklib-2.8.22-heimdal-1.patch

32Bit

Configure and compile the package:

CC="gcc ${BUILD32}" USE_ARCH=32 ./configure --prefix=/usr -with-default-dict=/lib/cracklib/pw_dict &&
make

Install the package:

make install &&
mv -v /usr/lib/libcrack.so.2.8.1 /lib &&
ln -svf ../../lib/libcrack.so.2.8.1 /usr/lib/libcrack.so &&
ldconfig

N32

Configure and compile the package:

CC="gcc ${BUILDN32}" USE_ARCH=n32 ./configure --prefix=/usr \
  --libdir=/usr/lib32 -with-default-dict=/lib/cracklib/pw_dict &&
sed -i 's@prefix}/lib@&32@g' dicts/Makefile doc/Makefile lib/Makefile \
     m4/Makefile Makefile python/Makefile util/Makefile &&
make

Install the package:

make install &&
mv -v /usr/lib32/libcrack.so.2.8.1 /lib32 &&
ln -svf ../../lib32/libcrack.so.2.8.1 /usr/lib32/libcrack.so &&
ldconfig

64Bit

Configure and compile the package:

CC="gcc ${BUILD64}" USE_ARCH=64 ./configure --prefix=/usr \
  --libdir=/usr/lib64 -with-default-dict=/lib/cracklib/pw_dict &&
sed -i 's@prefix}/lib@&64@g' dicts/Makefile doc/Makefile lib/Makefile \
     m4/Makefile Makefile python/Makefile util/Makefile &&
make

Install the package:

make install &&
mv -v /usr/lib64/libcrack.so.2.8.1 /lib64 &&
ln -svf ../../lib64/libcrack.so.2.8.1 /usr/lib64/libcrack.so &&
ldconfig

Install the dictionary:

install -v -m644 -D ../cracklib-words-20080507.gz /usr/share/dict/cracklib-words.gz
gunzip -f /usr/share/dict/cracklib-words.gz
ln -svf cracklib-words /usr/share/dict/words
install -v -m755 -d /lib/cracklib
create-cracklib-dict /usr/share/dict/cracklib-words

Contents

Installed Programs: cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, create-cracklib-dict
Installed Libraries: libcrack.{so,a}, libcrack_heimdal.{so,a}, cracklibmodule.{so,a} Python Modules
Installed Directories: /lib/cracklib, /usr/share/dict, /usr/share/cracklib

Short Descriptions

create-cracklib-dict is used to create the CrackLib dictionary from the given word list(s).
libcrack.{so,a} provides a fast dictionary lookup method for strong password enforcement.