CrackLib-2.9.6
      
      
        
          Introduction to CrackLib
        
        
          The CrackLib package contains a
          library used to enforce strong passwords by comparing user selected
          passwords to words in chosen word lists.
        
        
          This package is known to build and work properly using an LFS-7.8
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          There are additional word lists available for download, e.g., from
          http://www.cotse.com/tools/wordlists.htm.
          CrackLib can utilize as many, or
          as few word lists you choose to install.
        
        
          ![[Important]](../images/important.png) 
          
            Important
          
          
            Users tend to base their passwords on regular words of the spoken
            language, and crackers know that. CrackLib is intended to filter out such bad
            passwords at the source using a dictionary created from word
            lists. To accomplish this, the word list(s) for use with
            CrackLib must be an exhaustive
            list of words and word-based keystroke combinations likely to be
            chosen by users of the system as (guessable) passwords.
          
          
            The default word list recommended above for downloading mostly
            satisfies this role in English-speaking countries. In other
            situations, it may be necessary to download (or even create)
            additional word lists.
          
          
            Note that word lists suitable for spell-checking are not usable
            as CrackLib word lists in
            countries with non-Latin based alphabets, because of
            “word-based keystroke
            combinations” that make bad passwords.
          
         
        
          CrackLib Dependencies
        
        
          Optional
        
        
          Python-2.7.10
        
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/cracklib
        
       
      
        
          Installation of CrackLib
        
        
          Install CrackLib by running the
          following commands:
        
        
sed -i '/skipping/d' util/packer.c &&
./configure --prefix=/usr    \
            --disable-static \
            --with-default-dict=/lib/cracklib/pw_dict &&
make
        
          Now, as the root user:
        
        
make install                      &&
mv -v /usr/lib/libcrack.so.* /lib &&
ln -sfv ../../lib/$(readlink /usr/lib/libcrack.so) /usr/lib/libcrack.so
        
          Issue the following commands as the root user to install the recommended word list
          and create the CrackLib
          dictionary. Other word lists (text based, one word per line) can
          also be used by simply installing them into /usr/share/dict and adding them to the
          create-cracklib-dict
          command.
        
        
install -v -m644 -D    ../cracklib-words-2.9.6.gz \
                         /usr/share/dict/cracklib-words.gz     &&
gunzip -v                /usr/share/dict/cracklib-words.gz     &&
ln -v -sf cracklib-words /usr/share/dict/words                 &&
echo $(hostname) >>      /usr/share/dict/cracklib-extra-words  &&
install -v -m755 -d      /lib/cracklib                         &&
create-cracklib-dict     /usr/share/dict/cracklib-words \
                         /usr/share/dict/cracklib-extra-words
        
          If desired, check the proper operation of the library as an
          unprivileged user by issuing the following command:
        
        
make test
        
          ![[Important]](../images/important.png) 
          
            Important
          
          
            If you are installing CrackLib
            after your LFS system has been completed and you have the
            Shadow package installed, you
            must reinstall Shadow-4.2.1 if you wish to provide strong
            password support on your system. If you are now going to install
            the Linux-PAM-1.2.1 package, you may disregard
            this note as Shadow will be
            reinstalled after the Linux-PAM
            installation.
          
         
       
      
        
          Command Explanations
        
        
          sed -i '/skipping/d'
          util/packer.c: Remove a meaningless warning.
        
        
          --with-default-dict=/lib/cracklib/pw_dict:
          This parameter forces the installation of the CrackLib dictionary to the /lib hierarchy.
        
        
          --disable-static: This
          switch prevents installation of static versions of the libraries.
        
        
          mv -v /usr/lib/libcrack.so.2*
          /lib and ln -v -sf
          ../../lib/libcrack.so.2.8.1 ...: These two commands
          move the libcrack.so.2.9.0 library
          and associated symlink from /usr/lib
          to /lib, then recreates the
          /usr/lib/libcrack.so symlink pointing
          to the relocated file.
        
        
          install -v -m644 -D
          ...: This command creates the /usr/share/dict directory (if it doesn't already
          exist) and installs the compressed word list there.
        
        
          ln -v -s cracklib-words
          /usr/share/dict/words: The word list is linked to
          /usr/share/dict/words as
          historically, words is the primary
          word list in the /usr/share/dict
          directory. Omit this command if you already have a /usr/share/dict/words file installed on your
          system.
        
        
          echo $(hostname)
          >>...: The value of hostname is echoed to a file
          called cracklib-extra-words. This
          extra file is intended to be a site specific list which includes
          easy to guess passwords such as company or department names, user's
          names, product names, computer names, domain names, etc.
        
        
          create-cracklib-dict
          ...: This command creates the CrackLib dictionary from the word lists.
          Modify the command to add any additional word lists you have
          installed.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              cracklib-check, cracklib-format,
              cracklib-packer, cracklib-unpacker and
              create-cracklib-dict
            
            
              Installed Libraries:
              libcrack.so and the _cracklibmodule.so
              Python module
            
            
              Installed Directories:
              /lib/cracklib, /usr/share/dict and
              /usr/share/cracklib
            
           
         
        
          
            Short Descriptions
          
          
            
            
              
                | 
                    cracklib-check
                   | 
                    is used to determine if a password is strong.
                   | 
              
                | 
                    cracklib-format
                   | 
                    is used to format text files (lowercases all words,
                    removes controle characters and sorts the lists).
                   | 
              
                | 
                    cracklib-packer
                   | 
                    creates a database with words read from standard input.
                   | 
              
                | 
                    cracklib-unpacker
                   | 
                    displays on standard output the database specified.
                   | 
              
                | 
                    create-cracklib-dict
                   | 
                    is used to create the CrackLib dictionary from the given
                    word list(s).
                   | 
              
                | 
                    libcrack.so | 
                    provides a fast dictionary lookup method for strong
                    password enforcement.
                   | 
            
          
         
       
      
        Last updated on 2015-09-09 10:40:58 -0700