source: postlfs/security/linux-pam.xml@ 336d44e3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 336d44e3 was 336d44e3, checked in by Randy McMurchy <randy@…>, 17 years ago

Added an 'if exist' type check to the Linux-PAM commands that create the symlinks so that if the commands are run more than once, there is no breakage

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7104 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 11.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY linux-pam-download-http "http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-&linux-pam-version;.tar.bz2">
8 <!ENTITY linux-pam-download-ftp "ftp://ftp.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-&linux-pam-version;.tar.bz2">
9 <!ENTITY linux-pam-md5sum "385458dfb4633071594e255a6ebec9da">
10 <!ENTITY linux-pam-size "872 KB">
11 <!ENTITY linux-pam-buildsize "18 MB">
12 <!ENTITY linux-pam-time "0.5 SBU">
13 <!ENTITY linux-pam-docs-download "http://www.kernel.org/pub/linux/libs/pam/pre/doc/Linux-PAM-&linux-pam-version;-docs.tar.bz2">
14]>
15
16<sect1 id="linux-pam" xreflabel="Linux-PAM-&linux-pam-version;">
17 <?dbhtml filename="linux-pam.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Linux-PAM-&linux-pam-version;</title>
25
26 <indexterm zone="linux-pam">
27 <primary sortas="a-Linux-PAM">Linux-PAM</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Linux-PAM</title>
32
33 <para>The <application>Linux-PAM</application> package contains
34 Pluggable Authentication Modules. This is useful to enable the
35 local system administrator to choose how applications authenticate
36 users.</para>
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>Download (HTTP): <ulink url="&linux-pam-download-http;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download (FTP): <ulink url="&linux-pam-download-ftp;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download MD5 sum: &linux-pam-md5sum;</para>
48 </listitem>
49 <listitem>
50 <para>Download size: &linux-pam-size;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated disk space required: &linux-pam-buildsize;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated build time: &linux-pam-time;</para>
57 </listitem>
58 </itemizedlist>
59
60 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
61 <itemizedlist spacing='compact'>
62 <listitem>
63 <para>Optional documentation:
64 <ulink url="&linux-pam-docs-download;"/></para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">Linux-PAM Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Optional</bridgehead>
71 <para role="optional"><xref linkend="cracklib"/> and
72 <!-- <xref linkend="db"/> (for the pam_userdb module), -->
73 <ulink url="http://www.prelude-ids.org/">Prelude</ulink></para>
74
75 <bridgehead renderas="sect4">Optional (To {,Re}build the Documentation)</bridgehead>
76 <para role="optional"><xref linkend="libxslt"/>,
77 <xref linkend="DocBook"/>,
78 <xref linkend="docbook-xsl"/>,
79 <xref linkend="w3m"/>, and
80 <xref linkend="fop"/></para>
81
82 <para condition="html" role="usernotes">User Notes:
83 <ulink url="&blfs-wiki;/linux-pam"/></para>
84
85 </sect2>
86
87 <sect2 role="installation">
88 <title>Installation of Linux-PAM</title>
89
90 <para>If you downloaded the documentation, unpack the tarball from the
91 same top-level directory you unpacked the source tarball from. The files
92 will unpack into the correct directories of the source tree.</para>
93
94 <para>Install <application>Linux-PAM</application> by
95 running the following commands:</para>
96
97<screen><userinput>./configure --libdir=/lib \
98 --sbindir=/lib/security \
99 --enable-securedir=/lib/security \
100 --docdir=/usr/share/doc/Linux-PAM-&linux-pam-version; \
101 --enable-read-both-confs &amp;&amp;
102make</userinput></screen>
103
104 <!-- <para>To test the results, issue <command>make check</command>.</para> -->
105
106 <para>The test suite will not provide meaningful results until the package
107 has been installed and minimally configured. If, after installing the
108 package and creating a minimum configuration as shown below in the 'other'
109 example, you wish to run the tests, issue
110 <command>make check</command>.</para>
111
112 <!-- <tip>
113 <para>Don't delete the <application>Linux-PAM</application> source tree
114 until after you reinstall the <application>Shadow</application> package.
115 The reinstallation of the Shadow package includes much more stringent
116 security for the PAM configuration, and you can run the
117 <application>Linux-PAM</application> test suite after completing the
118 <application>Shadow</application> instructions to test the new setup. All
119 the tests should pass.</para>
120 </tip> -->
121
122 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
123
124<screen role="root"><userinput>make install &amp;&amp;
125chmod -v 4755 /lib/security/unix_chkpwd &amp;&amp;
126
127mv -v /lib/security/pam_tally /sbin &amp;&amp;
128
129mv -v /lib/libpam{,c,_misc}.la /usr/lib &amp;&amp;
130sed -i 's| /lib| /usr/lib|' /usr/lib/libpam_misc.la &amp;&amp;
131
132if [ -L /lib/libpam.so ]; then
133 for LINK in libpam{,c,_misc}.so; do
134 ln -v -sf ../../lib/$(readlink /lib/${LINK}) /usr/lib/${LINK} &amp;&amp;
135 rm -v /lib/${LINK}
136 done
137fi</userinput></screen>
138
139 <!-- <para>If you downloaded the documentation, install it using the following
140 command:</para>
141
142<screen role="root"><userinput>for DOCTYPE in html pdf ps txts
143do
144 cp -v -R doc/$DOCTYPE /usr/share/doc/Linux-PAM-&linux-pam-version;
145done</userinput></screen> -->
146
147 </sect2>
148
149 <sect2 role="commands">
150 <title>Command Explanations</title>
151
152 <para><parameter>--libdir=/lib</parameter>: This parameter results in
153 the libraries being installed in
154 <filename class='directory'>/lib</filename> as they may be required in
155 single-user mode.</para>
156
157 <para><parameter>--sbindir=/lib/security</parameter>: This parameter
158 results in two executables, one of which is not intended to be run from the
159 command line, being installed in the same directory as the PAM modules.
160 The other executable is later moved to the
161 <filename class='directory'>/sbin</filename> directory.</para>
162
163 <para><parameter>--enable-securedir=/lib/security</parameter>: This
164 parameter results in the PAM modules being installed in
165 <filename class='directory'>/lib/security</filename>.</para>
166
167 <para><parameter>--docdir=...</parameter>: This parameter results in
168 the documentation being installed in a versioned directory name.</para>
169
170 <para><parameter>--enable-read-both-confs</parameter>: This parameter
171 allows the local administrator to choose which configuration file setup to
172 use.</para>
173
174 <para><command>chmod -v 4755 /lib/security/unix_chkpwd</command>:
175 The <command>unix_chkpwd</command> password-helper program must be setuid
176 so that non-<systemitem class="username">root</systemitem> processes can
177 access the shadow-password file.</para>
178
179 <para><command>mv -v /lib/security/pam_tally /sbin</command>: The
180 <command>pam_tally</command> program is designed to be run by the system
181 administrator, possibly in single-user mode, so it is moved to the
182 appropriate directory.</para>
183
184 <para><command>mv -v /lib/libpam{,c,_misc}.la /usr/lib</command>: This
185 command moves the <application>Libtool</application> library files to
186 <filename class='directory'>/usr/lib</filename> as they are expected to
187 reside there.</para>
188
189 <para><command>sed -i 's| /lib| /usr/lib|'
190 /usr/lib/libpam_misc.la</command>: This command corrects an installation
191 reference due to the file being moved in the previous step.</para>
192
193 <para><command>for ...; do ...; done</command>: These commands are used
194 to relocate the <filename class='symlink'>.so</filename> symbolic links
195 into the <filename class='directory'>/usr/lib</filename> directory by
196 cloning and then removing the existing symlinks. Using
197 <command>readlink</command> ensures the new symlinks point at the correct
198 library filenames.</para>
199
200 </sect2>
201
202 <sect2 role="configuration">
203 <title>Configuring Linux-PAM</title>
204
205 <sect3 id="pam-config">
206 <title>Config Files</title>
207
208 <para><filename>/etc/security/*</filename> and
209 <filename>/etc/pam.d/*</filename> or
210 <filename>/etc/pam.conf</filename></para>
211
212 <indexterm zone="linux-pam pam-config">
213 <primary sortas="e-etc-security">/etc/security/*</primary>
214 </indexterm>
215
216 <indexterm zone="linux-pam pam-config">
217 <primary sortas="e-etc-pam.d">/etc/pam.d/*</primary>
218 </indexterm>
219
220 <indexterm zone="linux-pam pam-config">
221 <primary sortas="e-etc-pam.conf">/etc/pam.conf</primary>
222 </indexterm>
223
224 </sect3>
225
226 <sect3>
227 <title>Configuration Information</title>
228
229 <para>Configuration information is placed in
230 <filename class='directory'>/etc/pam.d/</filename> or
231 <filename>/etc/pam.conf</filename> depending on system administrator
232 preference. Below are example files of each type:</para>
233
234<screen><literal># Begin /etc/pam.d/other
235
236auth required pam_unix.so nullok
237account required pam_unix.so
238session required pam_unix.so
239password required pam_unix.so nullok
240
241# End /etc/pam.d/other
242
243# Begin /etc/pam.conf
244
245other auth required pam_unix.so nullok
246other account required pam_unix.so
247other session required pam_unix.so
248other password required pam_unix.so nullok
249
250# End /etc/pam.conf</literal></screen>
251
252 <para>The <application>PAM</application> man page
253 (<command>man pam</command>) provides a good starting point for
254 descriptions of fields and allowable entries. The <ulink
255 url="http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/Linux-PAM_SAG.html">
256 Linux-PAM System Administrators' Guide</ulink>
257 is recommended for additional information.</para>
258
259 <para>Refer to <ulink
260 url="http://www.kernel.org/pub/linux/libs/pam/modules.html"/>
261 for a list of various modules available.</para>
262
263 <important>
264 <para>You should now reinstall the <xref linkend="shadow"/>
265 package.</para>
266 </important>
267
268 </sect3>
269
270 </sect2>
271
272 <sect2 role="content">
273 <title>Contents</title>
274
275 <segmentedlist>
276 <segtitle>Installed Program</segtitle>
277 <segtitle>Installed Libraries</segtitle>
278 <segtitle>Installed Directories</segtitle>
279
280 <seglistitem>
281 <seg>pam_tally</seg>
282 <seg>libpam.{so,a}, libpamc.{so,a}, and libpam_misc.{so,a}</seg>
283 <seg>/etc/pam.d, /etc/security, /lib/security and
284 /usr/include/security</seg>
285 </seglistitem>
286 </segmentedlist>
287
288 <variablelist>
289 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
290 <?dbfo list-presentation="list"?>
291 <?dbhtml list-presentation="table"?>
292
293 <varlistentry id="pam_tally">
294 <term><command>pam_tally</command></term>
295 <listitem>
296 <para>is used to view or manipulate the <filename>faillog</filename>
297 file.</para>
298 <indexterm zone="linux-pam pam_tally">
299 <primary sortas="b-pam_tally">pam_tally</primary>
300 </indexterm>
301 </listitem>
302 </varlistentry>
303
304 <varlistentry id="libpam">
305 <term><filename class='libraryfile'>libpam.{so,a}</filename></term>
306 <listitem>
307 <para>provides the interfaces between applications and the
308 PAM modules.</para>
309 <indexterm zone="linux-pam libpam">
310 <primary sortas="c-libpam">libpam.{so,a}</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 </variablelist>
316
317 </sect2>
318
319</sect1>
Note: See TracBrowser for help on using the repository browser.