File: cracklib-runtime.xml

package info (click to toggle)
cracklib2 2.9.2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,148 kB
  • ctags: 411
  • sloc: sh: 11,875; ansic: 2,632; xml: 365; python: 288; makefile: 207; sed: 16
file content (195 lines) | stat: -rw-r--r-- 9,385 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
                      "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<article class="productsheet">
  <title>cracklib utilities</title>
  <articleinfo>
    <abstract>
      <para><application>cracklib2</application> is a library
      containing a C function which may be used in a <ulink
      url="/cgi-bin/man/man2html/passwd+1">passwd
      (1)</ulink> like program. The idea is simple: try to prevent
      users from choosing passwords that could be guessed by <ulink
      url="http://www.crypticide.com/alecm/security/c50-faq.html"><application><filename>crack</filename></application></ulink>
      by filtering them out, at
      source. <application>cracklib2</application> is
      <emphasis>not</emphasis> a replacement <ulink
      url="/cgi-bin/man/man2html/passwd+1">passwd
      (1)</ulink> program. <application>cracklib2</application> is a
      <emphasis>library</emphasis>.</para>
      <para><package>cracklib-runtime</package> contains run-time support programs which use the shared library in <package>libcrack2</package> including programs to build the password dictionary databases used by the functions in the shared library.</para>
    </abstract>
    <copyright>
      <year>1998</year>
      <year>1999</year>
      <holder>Jean Pierre LeJacq</holder>
    </copyright>
    <copyright>
      <year>2003</year>
      <holder>Martin Pitt</holder>
    </copyright>
    <copyright>
      <year>2008</year>
      <holder>Jan Dittberner</holder>
    </copyright>
    <legalnotice>
      <para>This package and this document is free software; you may
      redistribute it and/or modify it under the terms of the GNU
      General Public License version 2 as published by the Free
      Software Foundation.</para>
      <para>A copy of the GNU General Public License version 2 is
      available as /usr/share/common-licenses/GPL-2 in the Debian
      GNU/Linux distribution or on the World Wide Web at <ulink
      url="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</ulink>. You
      can also obtain it by writing to the Free Software Foundation,
      Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
      USA.</para>
    </legalnotice>
    <author>
      <firstname>Jean Pierre</firstname>
      <surname>LeJacq</surname>
      <contrib>Original Debian packaging</contrib>
      <email>jplejacq@quoininc.com</email>
    </author>
    <author>
      <firstname>Martin</firstname>
      <surname>Pitt</surname>
      <contrib>Debian package maintainer before version 2.8.</contrib>
      <email>mpitt@debian.org</email>
    </author>
    <author>
      <firstname>Jan</firstname>
      <surname>Dittberner</surname>
      <contrib>Reformulation to DocBook XML, updated to reflect new
      packaging and upstream version. Current Debian package
      maintainer.</contrib>
      <email>jandd@debian.org</email>
    </author>
    <pubdate>$Date: 2008-06-26 21:38:06 +0200 (Do, 26 Jun 2008) $</pubdate>
  </articleinfo>
  <section>
    <title>Upstream <package>cracklib2</package> utilities.</title>
    <section>
      <title><package>cracklib2</package> dictionary utilities.</title>
      <section id="s-cracklib-format">
        <title>cracklib-format</title>
        <para><application>cracklib-format</application> takes a list
        of text files each containing a list of words, one per line,
        It lowercases all words, removes control characters, and
        sorts the lists. It outputs the cleaned up list to standard
        output.
        </para>
        <para>For more information see the manual page of <ulink
        url="/cgi-bin/man/man2html?cracklib-format+8"><application>cracklib-format</application></ulink>.</para>
      </section>
      <section id="s-cracklib-packer">
        <title>cracklib-packer</title>
        <para><application>cracklib-packer</application> reads from
        standard input a list of sorted and cleaned words and creates
        a database from the result.</para>
        <para>For more information see the manual page of <ulink
        url="/cgi-bin/man/man2html?cracklib-packer+8"><application>cracklib-packer</application></ulink>.</para>
      </section>
      <section>
        <title>cracklib-unpacker</title>
        <para><application>cracklib-unpacker</application> reads from
        a database created by <link
        linkend="s-cracklib-packer"><application>cracklib-packer</application></link>
        and outputs on standard output the list of words that make up
        the database.</para>
        <para>For more information see the manual page of <ulink
        url="/cgi-bin/man/man2html?cracklib-unpacker+8"><application>cracklib-unpacker</application></ulink>.</para>
      </section>
      <section>
        <title>create-cracklib-dict</title>
        <para><application>create-cracklib-dict</application> takes
        one or more word list files as arguments and converts them
        into cracklib dictionaries for use by password checking
        programs. The results are placed in the default compiled-in
        dictionary location (<xref
        linkend="s-debian-dictionary-location" />).</para>
        <para>If you wish to store the dictionary in a different
        location, use the <link
        linkend="s-cracklib-format">cracklib-format</link> and <link
        linkend="s-cracklib-packer"><application>cracklib-packer</application></link>
        commands directly.</para>
      </section>
    </section>
    <section>
      <title><package>cracklib2</package>'s test utility
      <application>cracklib-check.</application></title>
      <para><application>cracklib-check</application> takes a list of
      passwords from stdin and checks them via libcrack2's <ulink
      url="/cgi-bin/man/man2html/FascistCheck+3">FascistCheck</ulink>
      sub routine.</para>
      <para><application>cracklib-check</application> prints each
      checked password and the corresponding result of <ulink
      url="/cgi-bin/man/man2html/FascistCheck+3">FascistCheck</ulink>
      to stdout. The password and the result are separated by a
      colon.</para>
    </section>
  </section>
  <section>
    <title>Debian <package>cracklib2</package> utilities.</title>
    <section>
      <title>update-cracklib</title>
      <para><application>update-cracklib</application> uses <link
      linkend="s-cracklib-format"><application>cracklib-format</application></link>
      and <link
      linkend="s-cracklib-packer"><application>cracklib-packer</application></link>
      to update the default cracklib dictionary it uses the word lists
      configured in
      <filename>/etc/cracklib/cracklib.conf</filename>.</para>
      <para>For more information see the manual page of <ulink
      url="/cgi-bin/man/man2html?update-cracklib+8"><application>cracklib-format</application></ulink>.</para>
    </section>
  </section>
  <section>
    <title>Debian dictionaries</title>
    <para><application>cracklib2</application> uses a word database
    that is in a binary format generated by the utilities <link
    linkend="s-cracklib-format"><application>cracklib-format</application></link>
    and <link
    linkend="s-cracklib-packer"><application>cracklib-packer</application></link>. Three
    files are created with the suffixes of .hwm, .pwd, and .pwi. These
    files are not byte-order independent, in fact they are probably
    architecture specific, mostly due to speed constraints.</para>
    <section id="s-debian-dictionary-location">
      <title>Database location for cracklib utilities.</title>
      <para>All cracklib utilities can use a dictionary database
      location specified as a command line argument. The utilities use
      a default dictionary database if nothing else is specified. On a
      Debian system the database is located in the directory
      <filename>/var/cache/cracklib/cracklib_dict</filename> and is
      generated daily with the program
      <filename>/etc/cron.daily/cracklib</filename>.</para>
    </section>
    <section>
      <title>Word lists for creating dictionary databases.</title>
      <para><application>cracklib2</application> is only as good as the word dictionary database you create. Basically, you want to include any word that a malicious user could guess. It could include:
      <itemizedlist>
        <listitem>
          <para>Names (including nicknames and user ids) of all users.</para>
        </listitem>
        <listitem>
          <para>Names of pets, relatives, cars, ... of all users.</para>
        </listitem>
        <listitem>
          <para>Computer, network, printer, ... names.</para>
        </listitem>
        <listitem>
          <para>Insurance numbers, employee numbers, ... of users.  *
          ...</para>
        </listitem>
      </itemizedlist>
      </para>
      <para>Debian provides a number of word lists that can be used as
      sources for creating the cracklib2 dictionary database. The
      package wenglish provides a standard ASCII word list that can be
      directly used. The package ispell also supplies a large word
      list but it is in binary format. I haven't figured out how to
      decode this binary format so that the resulting word list can be
      used by cracklib2.</para>
    </section>
  </section>
</article>