source: postlfs/security/linux-pam.xml@ de7f20e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 de7f20e was de7f20e, checked in by Randy McMurchy <randy@…>, 15 years ago

Added Berkeley DB dependencies as it is no longer built in LFS

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

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