Ignore:
Timestamp:
11/01/2003 10:31:50 PM (21 years ago)
Author:
Alex Gronenwoud <alex@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v5_0, v5_1, v5_1_1, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
49f4dd5
Parents:
0b400add
Message:

Merging caption and installation sections for all packages in chapters 5 and 6.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3052 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter06/shadowpwd.xml

    r0b400add r73aedd1d  
    88&aa-shadowpwd-shortdesc;
    99&aa-shadowpwd-dep;
    10 &c6-shadowpwd-inst;
    11 &c6-cf-shadowpwd;
     10
     11<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
     12
     13<sect2>
     14<title>Installation of Shadow</title>
     15
     16<para>The <userinput>login</userinput>, <userinput>getty</userinput> and
     17<userinput>init</userinput> programs (and some others) maintain a number
     18of logfiles to record who are and who were logged in to the system.  These
     19programs, however, don't create these logfiles when they don't exist, so if
     20you want this logging to occur you will have to create the files yourself.
     21The Shadow package needs to detect these files in their proper place, so we
     22create them now, with their proper permissions:</para>
     23
     24<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
     25chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}</userinput></screen>
     26
     27<para>The <filename>/var/run/utmp</filename> file lists the users that are
     28currently logged in, the <filename>/var/log/wtmp</filename> file who
     29<emphasis>were</emphasis> logged in and when.
     30The <filename>/var/log/lastlog</filename> file shows for each user when he
     31or she last logged in, and the <filename>/var/log/btmp</filename> lists the
     32bad login attempts.</para>
     33
     34<para>Shadow hard-wires the path to the <userinput>passwd</userinput> binary
     35within the binary itself, but does this the wrong way. If a
     36<userinput>passwd</userinput> binary is not present before installing Shadow,
     37the package incorrectly assumes it is going to be located at
     38<filename>/bin/passwd</filename>, but then installs it in
     39<filename>/usr/bin/passwd</filename>. This will lead to errors about not finding
     40<filename>/bin/passwd</filename>. To work around this bug, create a dummy
     41<filename>passwd</filename> file, so that it gets hard-wired properly:</para>
     42
     43<screen><userinput>touch /usr/bin/passwd</userinput></screen>
     44
     45<para>The current Shadow suite has a problem that causes the
     46<userinput>newgrp</userinput> command to fail.  The following patch (also
     47appearing in Shadow's CVS code) fixes this problem:</para>
     48
     49<screen><userinput>patch -Np1 -i ../&shadow-patch;</userinput></screen>
     50
     51<para>Now prepare Shadow for compilation:</para>
     52
     53<screen><userinput>./configure --prefix=/usr --libdir=/usr/lib --enable-shared</userinput></screen>
     54
     55<para>Compile the package:</para>
     56
     57<screen><userinput>make</userinput></screen>
     58
     59<para>And install it:</para>
     60
     61<screen><userinput>make install</userinput></screen>
     62
     63<para>Shadow uses two files to configure authentication settings for the
     64system. Install these two config files:</para>
     65
     66<screen><userinput>cp etc/{limits,login.access} /etc</userinput></screen>
     67
     68<para>We want to change the password method to enable MD5 passwords which are
     69theoretically more secure than the default "crypt" method and also allow
     70password lengths greater than 8 characters. We also need to change the old
     71<filename class="directory">/var/spool/mail</filename> location for user
     72mailboxes to the current location at
     73<filename class="directory">/var/mail</filename>. We do this by changing the
     74relevant configuration file while copying it to its destination:</para>
     75
     76<screen><userinput>sed -e 's%/var/spool/mail%/var/mail%' \
     77&nbsp;&nbsp;&nbsp;&nbsp;-e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
     78&nbsp;&nbsp;&nbsp;&nbsp;etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
     79
     80<note><para>Be extra careful when typing all of the above. It is probably safer
     81to cut-and-paste it rather than try and type it all in.</para></note>
     82
     83<para>According to the man page of <userinput>vipw</userinput>, a
     84<userinput>vigr</userinput> program should exist too. Since the installation
     85procedure doesn't create this program, create a symlink manually:</para>
     86
     87<screen><userinput>ln -s vipw /usr/sbin/vigr</userinput></screen>
     88
     89<para>As the <filename>/bin/vipw</filename> symlink is redundant (and even
     90pointing to a non-existent file), remove it:</para>
     91
     92<screen><userinput>rm /bin/vipw</userinput></screen>
     93
     94<para>Now move the <userinput>sg</userinput> program to its proper place:</para>
     95
     96<screen><userinput>mv /bin/sg /usr/bin</userinput></screen>
     97
     98<para>And move Shadow's dynamic libraries to a more appropriate location:</para>
     99
     100<screen><userinput>mv /usr/lib/lib{shadow,misc}.so.0* /lib</userinput></screen>
     101
     102<para>As some packages expect to find the just-moved libraries in
     103<filename>/usr/lib</filename>, create the following symlinks:</para>
     104
     105<screen><userinput>ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
     106ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so</userinput></screen>
     107
     108<para>Coreutils has already installed a <userinput>groups</userinput> program
     109in <filename>/usr/bin</filename>. If you wish, you can remove the one
     110installed by Shadow:</para>
     111
     112<screen><userinput>rm /bin/groups</userinput></screen>
     113
     114</sect2>
    12115
    13116</sect1>
     117
Note: See TracChangeset for help on using the changeset viewer.