Difference between revisions of "Cracklib"

From CBLFS
Jump to navigationJump to search
(Update where python modules install)
 
(26 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-{{Cracklib-Version}}.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-{{Cracklib-Version}}-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 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 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 =
Line 120: Line 113:
 
{| style="text-align: left;"
 
{| style="text-align: left;"
 
|-
 
|-
! '''Installed Programs:'''
+
! Installed Programs:
 
| cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, create-cracklib-dict
 
| cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, create-cracklib-dict
 
|-
 
|-
! '''Installed Libraries:'''
+
! Installed Libraries:
 
| libcrack.{so,a}, libcrack_heimdal.{so,a}, cracklibmodule.{so,a} Python Modules
 
| libcrack.{so,a}, libcrack_heimdal.{so,a}, cracklibmodule.{so,a} Python Modules
 
|-
 
|-
! '''Installed Directories:'''
+
! Installed Directories:
 
|/lib/cracklib, /usr/share/dict, /usr/share/cracklib
 
|/lib/cracklib, /usr/share/dict, /usr/share/cracklib
 
|}
 
|}
Line 134: Line 127:
 
{| style="text-align: left;"
 
{| style="text-align: left;"
 
|-
 
|-
! '''create-cracklib-dict'''
+
! create-cracklib-dict
 
| is used to create the CrackLib dictionary from the given word list(s).  
 
| is used to create the CrackLib dictionary from the given word list(s).  
 
|-
 
|-
! '''libcrack.{so,a}'''
+
! libcrack.{so,a}
 
| provides a fast dictionary lookup method for strong password enforcement.
 
| 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.