| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | <sect2><title> </title><para> </para></sect2><sect2><title>Installation of Shadow Password Suite</title><para>Before you install this package, you may want to have a look atthe Shadow hint. It discusses how you can make your system more secureregarding passwords, such as how to enable the more secure MD5 passwordsand how to get the most out of this Shadow package. The Shadow hint canbe found at <ulink url="&hints-root;shadowpasswd_plus.txt"/>.</para><para>Programs like login, shutdown, uptime, and others want to readfrom and to the /var/run/utmp, /var/log/btmp and /var/log/wtmp. Thesefiles contain information about who is currently logged in. They alsocontain information about when the conmputer was last booted andshutdown and a record of bas login attempts.</para><para>Create these files with their proper permissions by running thefollowing commands:</para><para><screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}</userinput></screen></para><para>Shadow hard-codes the path to the passwd binary within itself, butit does it the wrong way. If no passwd binary is present beforeinstalling Shadow, it (wrongly) assumes that it will be at /bin/passwd,but then installs its own in /usr/bin/passwd. This will lead to strangeerrors about not finding /bin/passwd. To fix workaround this bug inShadow, we'll create a dummy passwd file so that it gets hardcoded inthe right place:</para><para><screen><userinput>touch /usr/bin/passwd</userinput></screen></para><para>Prepare Shadow to be compiled:</para><para><screen><userinput>./configure --prefix=/usr --libdir=/usr/lib \    --enable-shared</userinput></screen></para><para>Continue with compiling the package:</para><para><screen><userinput>make</userinput></screen></para><para>Install the package:</para><para><screen><userinput>make install</userinput></screen></para><para>Shadow uses two files to configure authentication settings forthe system. Install those config files:</para><para><screen><userinput>cp etc/{limits,login.access} /etc</userinput></screen></para><para><filename class="directory">/var/spool/mail</filename> is theold location of the user mailboxes. The location that is used nowadaysis /var/mail. Issue the following command to modify the mailboxlocation:</para><para><screen><userinput>sed 's%/var/spool/mail%/var/mail%' \    etc/login.defs.linux > /etc/login.defs</userinput></screen></para><para>According to the manpage of <userinput>vipw</userinput>,a <userinput>vigr</userinput> symlink should exist. Because theshadow installation procedure doesn't create this symlink, itmust be created manually:</para><para><screen><userinput>ln -s vipw /usr/sbin/vigr</userinput></screen></para><para>The <filename>vipw</filename> link is currently pointingto a non-existing file. Since this file isn't needed here, removeit:</para><para><screen><userinput>rm /bin/vipw</userinput></screen></para><para>Move the <userinput>sg</userinput> program to the<filename class="directory">/usr/bin</filename> directory:</para><para><screen><userinput>mv /bin/sg /usr/bin</userinput></screen></para><para>Move Shadow's dynamic libraries to a more appropriate location:</para><para><screen><userinput>mv /usr/lib/lib{shadow,misc}.so.0* /lib</userinput></screen></para><para>The libraries have been moved, but some packages expect tofind them in them in the<filename class="directory">/usr/lib</filename> directory. To accountfor this, create the following symlinks:</para><para><screen><userinput>ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.soln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so</userinput></screen></para><para>Sh-utils and Shadow Password Suite each install a unique<filename>groups</filename> program. If you wish, you may remove the<filename>groups</filename> program installed by the Shadow PasswordSuite:</para><para><screen><userinput>rm /bin/groups</userinput></screen></para></sect2>
 |