source: postlfs/security/linux-pam.xml@ 939653d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 939653d was 2f12da13, checked in by Douglas R. Reno <renodr@…>, 8 years ago

Update to xf86-input-evdev-2.10.3
Textual fixes

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

  • Property mode set to 100644
File size: 16.0 KB
RevLine 
[b4b71892]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[b4b71892]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[db248d06]7 <!ENTITY linux-pam-download-http "http://linux-pam.org/library/Linux-PAM-&linux-pam-version;.tar.bz2">
[1ae6204]8 <!ENTITY linux-pam-download-ftp " ">
[03a0a638]9 <!ENTITY linux-pam-md5sum "da4b2289b7cfb19583d54e9eaaef1c3a">
[495e81c3]10 <!ENTITY linux-pam-size "1.3 MB">
[03a0a638]11 <!ENTITY linux-pam-buildsize "28 MB (with tests)">
12 <!ENTITY linux-pam-time "0.5 SBU (with tests)">
[903f671]13
[1b51238]14 <!ENTITY linux-pam-docs-download "http://linux-pam.org/documentation/Linux-PAM-&linux-pam-docs-version;-docs.tar.bz2">
[495e81c3]15 <!ENTITY linux-pam-docs-md5sum "558378b8be9b8b5c987326f4529f2130">
16 <!ENTITY linux-pam-docs-size "480 KB">
[1ae6204]17 <!ENTITY debian-pam-docs "http://debian.securedservers.com/kernel/pub/linux/libs/pam">
[b4b71892]18]>
19
[6603f8b]20<sect1 id="linux-pam" xreflabel="Linux-PAM-&linux-pam-version;">
21 <?dbhtml filename="linux-pam.html"?>
[c7eb655]22
23 <sect1info>
24 <othername>$LastChangedBy$</othername>
25 <date>$Date$</date>
26 </sect1info>
27
[6603f8b]28 <title>Linux-PAM-&linux-pam-version;</title>
[c7eb655]29
[6603f8b]30 <indexterm zone="linux-pam">
31 <primary sortas="a-Linux-PAM">Linux-PAM</primary>
[c7eb655]32 </indexterm>
33
34 <sect2 role="package">
[db248d06]35 <title>Introduction to Linux PAM</title>
[c7eb655]36
[db248d06]37 <para>
38 The <application>Linux PAM</application> package contains
39 Pluggable Authentication Modules used to enable the local
40 system administrator to choose how applications authenticate
41 users.
42 </para>
[c7eb655]43
[a2c3ec79]44 &lfs79_checked;&gcc6_checked;
[f4797d2]45
[c7eb655]46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
[db248d06]49 <para>
50 Download (HTTP): <ulink url="&linux-pam-download-http;"/>
51 </para>
[c7eb655]52 </listitem>
53 <listitem>
[db248d06]54 <para>
55 Download (FTP): <ulink url="&linux-pam-download-ftp;"/>
56 </para>
[c7eb655]57 </listitem>
58 <listitem>
[db248d06]59 <para>
60 Download MD5 sum: &linux-pam-md5sum;
61 </para>
[c7eb655]62 </listitem>
63 <listitem>
[db248d06]64 <para>
65 Download size: &linux-pam-size;
66 </para>
[c7eb655]67 </listitem>
68 <listitem>
[db248d06]69 <para>
70 Estimated disk space required: &linux-pam-buildsize;
71 </para>
[c7eb655]72 </listitem>
73 <listitem>
[db248d06]74 <para>
75 Estimated build time: &linux-pam-time;
76 </para>
[c7eb655]77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[db248d06]81 <itemizedlist spacing="compact">
[07f0c976]82 <title>Optional Documentation</title>
[c7eb655]83 <listitem>
[db248d06]84 <para>
85 Download (HTTP): <ulink url="&linux-pam-docs-download;"/>
86 </para>
[903f671]87 </listitem>
88 <listitem>
[db248d06]89 <para>
90 Download MD5 sum: &linux-pam-docs-md5sum;
91 </para>
[903f671]92 </listitem>
93 <listitem>
[db248d06]94 <para>
95 Download size &linux-pam-docs-size;
96 </para>
[6576f3e]97 </listitem>
98 </itemizedlist>
99
[db248d06]100 <bridgehead renderas="sect3">Linux PAM Dependencies</bridgehead>
[c7eb655]101
102 <bridgehead renderas="sect4">Optional</bridgehead>
[db248d06]103 <para role="optional">
104 <xref linkend="db"/>,
105 <xref linkend="cracklib"/>,
106 <xref linkend="libtirpc"/> and
107 <ulink url="http://www.prelude-ids.org/">Prelude</ulink>
108 </para>
109
110 <bridgehead renderas="sect4">Optional (To Rebuild the Documentation)</bridgehead>
111 <para role="optional">
112 <xref linkend="DocBook"/>,
113 <xref linkend="docbook-xsl"/>,
114 <xref linkend="fop"/>,
115 <xref linkend="libxslt"/> and
116 <xref linkend="w3m"/>
117 </para>
[c7eb655]118
[3597eb6]119 <para condition="html" role="usernotes">User Notes:
[db248d06]120 <ulink url="&blfs-wiki;/linux-pam"/>
121 </para>
[c7eb655]122 </sect2>
123
124 <sect2 role="installation">
[db248d06]125 <title>Installation of Linux PAM</title>
[c7eb655]126
[db248d06]127 <para>
128 If you downloaded the documentation, unpack the tarball by issuing
129 the following command.
130 </para>
[903f671]131
[1b51238]132<screen><userinput>tar -xf ../Linux-PAM-&linux-pam-docs-version;-docs.tar.bz2 --strip-components=1</userinput></screen>
[ccb8b2d]133
[db248d06]134 <para>
135 Install <application>Linux PAM</application> by
136 running the following commands:
137 </para>
[c7eb655]138
[2f12da13]139<screen><userinput>./configure --prefix=/usr \
[db248d06]140 --sysconfdir=/etc \
[5ae7a99]141 --libdir=/usr/lib \
142 --enable-securedir=/lib/security \
[7cadfea]143 --docdir=/usr/share/doc/Linux-PAM-&linux-pam-version; &amp;&amp;
[c7eb655]144make</userinput></screen>
[17fb537e]145
[db248d06]146 <para>
[5c6a906]147 To test the results, a suitable <filename>/etc/pam.d/other</filename>
148 configuration file must exist.
149 </para>
150
151 <caution>
152 <title>Reinstallation or upgrade of Linux PAM</title>
153 <para>
154 If you have a system with Linux PAM installed and working, be careful
155 when modifying the files in
156 <filename class="directory">/etc/pam.d</filename>, since your system
157 may become totally unusable. If you want to run the tests, you do not
158 need to create another <filename>/etc/pam.d/other</filename> file. The
159 installed one can be used for that purpose.
160 </para>
161
162 <para>
163 You should also be aware that <command>make install</command>
164 overwrites the configuration files in
165 <filename class="directory">/etc/security</filename> as well as
[af5d034]166 <filename>/etc/environment</filename>. In case you
[7f92f72]167 have modified those files, be sure to back them up.
[5c6a906]168 </para>
169 </caution>
170
171 <para>
172 For a first installation, create the configuration file by issuing the
173 following commands as the <systemitem class="username">root</systemitem>
174 user:
[db248d06]175 </para>
[903f671]176
177<screen role="root"><userinput>install -v -m755 -d /etc/pam.d &amp;&amp;
[c03a8bd]178
[903f671]179cat &gt; /etc/pam.d/other &lt;&lt; "EOF"
180auth required pam_deny.so
181account required pam_deny.so
182password required pam_deny.so
183session required pam_deny.so
184EOF</userinput></screen>
[1ad238d8]185
[db248d06]186 <para>
187 Now run the tests by issuing <command>make check</command>.
[5c6a906]188 Ensure there are no errors produced by the tests before continuing the
[f3429309]189 installation. Note that the checks are quite long. It may be useful to
[faee06a]190 redirect the output to a log file in order to inspect it thoroughly.
[db248d06]191 </para>
[903f671]192
[db248d06]193 <para>
[5c6a906]194 Only in case of a first installation, remove the configuration file
195 created earlier by issuing the following command as the
[db248d06]196 <systemitem class="username">root</systemitem> user:
197 </para>
[903f671]198
[74f20a1]199<screen role="root"><userinput>rm -fv /etc/pam.d/*</userinput></screen>
[f691f2b]200
[db248d06]201 <para>
202 Now, as the <systemitem class="username">root</systemitem>
203 user:
204 </para>
[17fb537e]205
[c7eb655]206<screen role="root"><userinput>make install &amp;&amp;
[5ae7a99]207chmod -v 4755 /sbin/unix_chkpwd &amp;&amp;
208
209for file in pam pam_misc pamc
210do
211 mv -v /usr/lib/lib${file}.so.* /lib &amp;&amp;
212 ln -sfv ../../lib/$(readlink /usr/lib/lib${file}.so) /usr/lib/lib${file}.so
213done</userinput></screen>
214
[c7eb655]215 </sect2>
[b4b71892]216
[c7eb655]217 <sect2 role="commands">
218 <title>Command Explanations</title>
[b4b71892]219
[db248d06]220 <para>
[5ae7a99]221 <parameter>--enable-securedir=/lib/security</parameter>:
222 This switch sets install location for the
223 <application>PAM</application> modules.
224 </para>
225
[db248d06]226 <para>
[30004ce9]227 <command>chmod -v 4755 /sbin/unix_chkpwd</command>:
[db248d06]228 The <command>unix_chkpwd</command> helper program must be setuid
229 so that non-<systemitem class="username">root</systemitem>
230 processes can access the shadow file.
231 </para>
232
[c7eb655]233 </sect2>
[b4b71892]234
[c7eb655]235 <sect2 role="configuration">
236 <title>Configuring Linux-PAM</title>
[b4b71892]237
[c7eb655]238 <sect3 id="pam-config">
239 <title>Config Files</title>
[b4b71892]240
[db248d06]241 <para>
242 <filename>/etc/security/*</filename> and
243 <filename>/etc/pam.d/*</filename>
244 </para>
[b4b71892]245
[6603f8b]246 <indexterm zone="linux-pam pam-config">
[c7eb655]247 <primary sortas="e-etc-security">/etc/security/*</primary>
248 </indexterm>
[b4b71892]249
[6603f8b]250 <indexterm zone="linux-pam pam-config">
[c7eb655]251 <primary sortas="e-etc-pam.d">/etc/pam.d/*</primary>
252 </indexterm>
253
254 </sect3>
255
256 <sect3>
257 <title>Configuration Information</title>
258
[db248d06]259 <para>
260 Configuration information is placed in
261 <filename class="directory">/etc/pam.d/</filename>.
262 Below is an example file:
263 </para>
[c7eb655]264
265<screen><literal># Begin /etc/pam.d/other
[b4b71892]266
267auth required pam_unix.so nullok
268account required pam_unix.so
269session required pam_unix.so
270password required pam_unix.so nullok
271
[db248d06]272# End /etc/pam.d/other</literal></screen>
[b4b71892]273
[78b5501]274 <para>Now set up some generic files. As root:</para>
275
276<screen role="root"><userinput>cat &gt; /etc/pam.d/system-account &lt;&lt; "EOF"
277<literal># Begin /etc/pam.d/system-account
278
279account required pam_unix.so
280
281# End /etc/pam.d/system-account</literal>
282EOF
283
284cat &gt; /etc/pam.d/system-auth &lt;&lt; "EOF"
285<literal># Begin /etc/pam.d/system-auth
286
287auth required pam_unix.so
288
289# End /etc/pam.d/system-auth</literal>
290EOF
291
292cat &gt; /etc/pam.d/system-session &lt;&lt; "EOF"
293<literal># Begin /etc/pam.d/system-session
294
295session required pam_unix.so
296
297# End /etc/pam.d/system-session</literal>
298EOF</userinput></screen>
299
300 <para>The remaining generic file depends on wheather <xref linkend="cracklib"/>
301 is installed. If it is installed, use:</para>
302
303<screen role="root"><userinput>cat &gt; /etc/pam.d/system-password &lt;&lt; "EOF"
304<literal># Begin /etc/pam.d/system-password
305
306# check new passwords for strength (man pam_cracklib)
307password required pam_cracklib.so type=Linux retry=3 difok=5 \
308 difignore=23 minlen=9 dcredit=1 \
309 ucredit=1 lcredit=1 ocredit=1 \
310 dictpath=/lib/cracklib/pw_dict
311# use sha512 hash for encryption, use shadow, and use the
312# authentication token (chosen password) set by pam_cracklib
313# above (or any previous modules)
314password required pam_unix.so sha512 shadow use_authtok
315
316# End /etc/pam.d/system-password</literal>
317EOF</userinput></screen>
[f3429309]318
[78b5501]319 <note>
320 <para>
321 In its default configuration, pam_cracklib will
322 allow multiple case passwords as short as 6 characters, even with
323 the <parameter>minlen</parameter> value set to 11. You should review
324 the pam_cracklib(8) man page and determine if these default values
325 are acceptable for the security of your system.
326 </para>
327 </note>
328
[f3429309]329 <para>If <xref linkend="cracklib"/> is <emphasis>NOT</emphasis> installed,
[78b5501]330 use:</para>
331
332<screen role="root"><userinput>cat &gt; /etc/pam.d/system-password &lt;&lt; "EOF"
333<literal># Begin /etc/pam.d/system-password
334
335# use sha512 hash for encryption, use shadow, and try to use any previously
336# defined authentication token (chosen password) set by any prior module
337password required pam_unix.so sha512 shadow try_first_pass
338
339# End /etc/pam.d/system-password</literal>
[74f20a1]340EOF</userinput></screen>
[f3429309]341
[74f20a1]342 <para>Now add a restrictive <filename>/etc/pam.d/other</filename>
343 configuration file. With this file, programs that are PAM aware will not
344 run unless a configuration file specifically for that application is
345 created.</para>
346
347<screen role="root"><userinput>cat &gt; /etc/pam.d/other &lt;&lt; "EOF"
348<literal># Begin /etc/pam.d/other
349
350auth required pam_warn.so
351auth required pam_deny.so
352account required pam_warn.so
353account required pam_deny.so
354password required pam_warn.so
355password required pam_deny.so
356session required pam_warn.so
357session required pam_deny.so
358
359# End /etc/pam.d/other</literal>
[78b5501]360EOF</userinput></screen>
361
[db248d06]362 <para>
363 The <application>PAM</application> man page (<command>man
364 pam</command>) provides a good starting point for descriptions
365 of fields and allowable entries. The <ulink
[f22f1ef3]366 url="http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_SAG.html">Linux-PAM
[db248d06]367 System Administrators' Guide</ulink> is recommended for additional
368 information.
369 </para>
[b4b71892]370
[db248d06]371 <para>
372 Refer to <ulink url="&debian-pam-docs;/modules.html"/> for a list
373 of various third-party modules available.
374 </para>
[c7eb655]375
[ccb8b2d]376 <important>
[db248d06]377 <para>
378 You should now reinstall the <xref linkend="shadow"/>
[f586237]379 <phrase revision="sysv">package.</phrase>
380 <phrase revision="systemd"> and <xref linkend="systemd"/>
381 packages.</phrase>
[db248d06]382 </para>
[ccb8b2d]383 </important>
[db248d06]384
[c7eb655]385 </sect3>
[db248d06]386
[c7eb655]387 </sect2>
388
389 <sect2 role="content">
390 <title>Contents</title>
391
392 <segmentedlist>
[ccb8b2d]393 <segtitle>Installed Program</segtitle>
[c7eb655]394 <segtitle>Installed Libraries</segtitle>
395 <segtitle>Installed Directories</segtitle>
396
397 <seglistitem>
[db248d06]398 <seg>
399 mkhomedir_helper, pam_tally, pam_tally2,
400 pam_timestamp_check, unix_chkpwd and
401 unix_update
402 </seg>
403 <seg>
404 libpam.so, libpamc.so and libpam_misc.so
405 </seg>
406 <seg>
407 /etc/security,
408 /lib/security,
409 /usr/include/security and
410 /usr/share/doc/Linux-PAM-&linux-pam-version;
411 </seg>
[c7eb655]412 </seglistitem>
413 </segmentedlist>
414
415 <variablelist>
416 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
417 <?dbfo list-presentation="list"?>
418 <?dbhtml list-presentation="table"?>
419
[db248d06]420 <varlistentry id="mkhomedir_helper">
421 <term><command>mkhomedir_helper</command></term>
422 <listitem>
423 <para>
424 is a helper binary that creates home directories.
425 </para>
426 <indexterm zone="linux-pam mkhomedir_helper">
427 <primary sortas="b-mkhomedir_helper">mkhomedir_helper</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
[c7eb655]432 <varlistentry id="pam_tally">
433 <term><command>pam_tally</command></term>
434 <listitem>
[db248d06]435 <para>
436 is used to interrogate and manipulate the login counter file.
437 </para>
[6603f8b]438 <indexterm zone="linux-pam pam_tally">
[c7eb655]439 <primary sortas="b-pam_tally">pam_tally</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
[db248d06]444 <varlistentry id="pam_tally2">
445 <term><command>pam_tally2</command></term>
446 <listitem>
447 <para>
448 is used to interrogate and manipulate the login counter file, but
449 does not have some limitations that <command>pam_tally</command>
450 does.
451 </para>
452 <indexterm zone="linux-pam pam_tally2">
453 <primary sortas="b-pam_tally2">pam_tally2</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="pam_timestamp_check">
459 <term><command>pam_timestamp_check</command></term>
460 <listitem>
461 <para>
462 is used to check if the default timestamp is valid
463 </para>
464 <indexterm zone="linux-pam pam_timestamp_check">
465 <primary sortas="b-pam_timestamp_check">pam_timestamp_check</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="unix_chkpwd">
471 <term><command>unix_chkpwd</command></term>
472 <listitem>
473 <para>
474 is a helper binary that verifies the password of the current user.
475 </para>
476 <indexterm zone="linux-pam unix_chkpwd">
477 <primary sortas="b-unix_chkpwd">unix_chkpwd</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="unix_update">
483 <term><command>unix_update</command></term>
484 <listitem>
485 <para>
486 is a helper binary that updates the password of a given user.
487 </para>
488 <indexterm zone="linux-pam unix_update">
489 <primary sortas="b-unix_update">unix_update</primary>
490 </indexterm>
491 </listitem>
492 </varlistentry>
493
[c7eb655]494 <varlistentry id="libpam">
[db248d06]495 <term><filename class="libraryfile">libpam.so</filename></term>
[c7eb655]496 <listitem>
[db248d06]497 <para>
498 provides the interfaces between applications and the
499 PAM modules.
500 </para>
[6603f8b]501 <indexterm zone="linux-pam libpam">
[db248d06]502 <primary sortas="c-libpam">libpam.so</primary>
[c7eb655]503 </indexterm>
504 </listitem>
505 </varlistentry>
[db248d06]506
[c7eb655]507 </variablelist>
[db248d06]508
[c7eb655]509 </sect2>
[db248d06]510
[3c52f859]511</sect1>
Note: See TracBrowser for help on using the repository browser.