source: trunk/README @ 366

Revision 366, 5.8 KB checked in by ludovic.rousseau, 3 years ago (diff)

correct typos and remove spaces at end of lines

Line 
1This is the README of the PKCS #11 PAM Login Module
2======================================================================
3
4Release: 0.6.1
5Authors:  Mario Strasser <mast@gmx.net>
6          Juan Antonio Martinez <jonsito@teleline.es>
7          Ludovic Rouseau <ludovic.rousseau@free.fr>
8
9This Linux-PAM login module allows a X.509 certificate based user
10login. The certificate and its dedicated private key are thereby
11accessed by means of an appropriate PKCS #11 module. For the
12verification of the users' certificates, locally stored CA
13certificates as well as either online or locally accessible CRLs are
14used.
15
16Detailed information about the Linux-PAM system can be found in [1],
17[2] and [3]. The specification of the Cryptographic Token Interface
18Standard (PKCS #11) is available at [4].
19
20
21PKCS #11 Module Requirements
22----------------------------------------------------------------------
23The PKCS #11 modules must fullfill the requirements given by the RSA
24Asymmetric Client Signing Profile, which has been specified in the
25PKCS #11 Conformance Profile Specification [5] by RSA Laboratories.
26
27
28User Matching
29----------------------------------------------------------------------
30To approve the ownership of a certificate, that is to allow the owner
31of a certificate to login as a particular user Several modules
32are provided. See README.mappers file in doc directory
33
34[Note: This is still a work in progress, any suggestions for
35       improvements or alternative matching algorithms are welcome.]
36
37
38Installation
39----------------------------------------------------------------------
40
41bash# tar xvzf pam_pkcs11-X.Y.Z.tar.gz
42bash# cd pam_pkcs11-X.Y.Z
43bash# ./configure
44bash# make
45bash# sudo make install
46
47
48Configuration
49
501- Create a directory /etc/pam_pkcs11
512- Copy $(base)/etc/pam_pkcs11.conf.example to /etc/pam_pkcs11/ and personalize
523- Create crls and cacerts directories according with configuration file,
53   and fill them with proper data
544- Choose one or more mappers to install, set up configuration file, and
55   if needed configure mappers
56
57The file etc/pam_pkcs11.conf is fully auto-documented, to allow you easy
58editing
59
605- setup /etc/pam.d/xxx entries
61
62----------------------------------------------------------------------
63To make use of the PKCS #11 login module replace the line
64
65  auth  requisite       pam_unix2.so    ...
66
67with
68
69  auth  requisite       pam_pkcs11.so   ...
70
71in the pam configuration files.
72
73Some mappers doesn't map to an existing user. To allow correct login,
74you may need to install also pam-mkhomedir in session pam stack
75See http://www.kernel.org/pub/linux/libs/pam for details
76
77The following options are recognised for pam-pkcs11.so:
78
79  debug       
80    Enable debugging support.
81
82  config_file
83    To specify up configuration file ( default /etc/pam_pkcs11/pam_pkcs11.conf )
84
85Next options should be taken from configuration file, but is up to the
86user to specify them from command line. If so, it takes precedence over
87configuration file
88
89  nullok     
90    Allow empty passwords.
91
92  use_first_pass
93    Do not prompt the user for the passwords but take them from the
94    PAM_ items instead.
95
96  try_first_pass
97    Do not prompt the user for the passwords unless PAM_(OLD)AUTHTOK
98    is unset.
99
100  use_authtok
101    Like try_first_pass, but fail if the new PAM_AUTHTOK has not been
102    previously set (intended for stacking password modules only).
103
104Next options are pkcs11 module specific
105
106  pkcs11_module=<file>
107    Filename of the PKCS #11 module. The default value is
108    /etc/pam_pkcs11/pkcs11_module.so.
109    Note that this option takes precedence over "module" entry
110    in proper pkcs11_module section, but this section is still needed
111
112  slot_num=<nr>
113    Slot-number to use. One for the first, two for the second and so
114    on. The default value is zero which means to use the first slot
115    with an available token.
116
117  ca_dir=<path>
118    Path to the directory where the CA certificates are stored. The
119    directory must contain an openssl hash-link to each certificate.
120    The default value is /etc/pam_pkcs11/cacerts.
121
122  crl_dir=<path>
123    Path to the directory where the CRLs are stored. The directory
124    must contain an openssl hash-link to each CRL. The default value
125    is /etc/pam_pkcs11/crls.
126
127  crl_policy={none, online, offline, auto}
128    Sets the CRL verification policy. None performs no verification
129    at all, online downloads the CRL form the location given by the
130    CRL distribution point extension of the certificate and offline
131    uses the locally stored CRLs. Auto is a combination of online and
132    offline; it first tries to download the CRL from a possibly
133    given CRL distribution point and if this fails, uses the local
134    CRLs. The default setting is none.
135
136Example:
137
138  auth  sufficient  pam_pkcs11.so   config_file=/etc/pam_pkcs11/pam_pkcs11.conf
139
140  or ( avoid if possible )
141
142  auth  sufficient pam_pkcs11.so        nullok debug try_first_pass \
143    pkcs11_module=/usr/lib/pkcs11/pkcs11_module.so \
144    ca_dir=/etc/cacerts/ crl_dir=/etc/cacerts/ crl_policy=auto
145
146
147Contact
148----------------------------------------------------------------------
149
150Any comments, suggestions and bug reports are welcome. Please, mention
151the keywords 'pkcs' and 'pam' in the subject.
152
153Mario Strasser <mast@gmx.net>
154Juan Antonio Martinez <jonsito@teleline.es>
155
156
157References
158----------------------------------------------------------------------
159
160[1] The Linux-PAM System Administrators' Guide
161    http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html
162
163[2] The Linux-PAM Module Writers' Guide
164    http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam_modules.html
165
166[3] The Linux-PAM Application Developers' Guide
167    http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam_appl.html
168
169[4] PKCS #11 - Cryptographic Token Interface Standard
170    http://www.rsasecurity.com/rsalabs/pkcs/pkcs-11/
171
172[5] PKCS #11: Conformance Profile Specification
173    http://www.rsasecurity.com/rsalabs/pkcs/pkcs-11/
174
Note: See TracBrowser for help on using the repository browser.