aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/bzip2.xml7
-rw-r--r--chapter06/sed.xml7
-rw-r--r--chapter06/shadow.xml26
3 files changed, 28 insertions, 12 deletions
diff --git a/chapter06/bzip2.xml b/chapter06/bzip2.xml
index 641fb5a25..7470cd84f 100644
--- a/chapter06/bzip2.xml
+++ b/chapter06/bzip2.xml
@@ -36,6 +36,13 @@ GCC, Glibc, and Make</seg></seglistitem>
<screen><userinput>patch -Np1 -i ../&bzip2-docs-patch;</userinput></screen>
+<para>The <command>bzgrep</command> command does not escape '|' and '&amp;' in
+filenames passed to it. This allows arbitrary commands to be executed with the
+privileges of the user running <command>bzgrep</command>. Apply the following to
+address this:</para>
+
+<screen><userinput>patch -Np1 -i ../&bzip2-bzgrep-patch;</userinput></screen>
+
<para>Prepare Bzip2 for compilation with:</para>
<screen><userinput>make -f Makefile-libbz2_so
diff --git a/chapter06/sed.xml b/chapter06/sed.xml
index e00d1fda0..bdc7a7fc7 100644
--- a/chapter06/sed.xml
+++ b/chapter06/sed.xml
@@ -30,6 +30,13 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, and Texinfo</seg></seglistitem>
<sect2 role="installation">
<title>Installation of Sed</title>
+<para>By default, Sed installs its man page in
+<filename class="directory">/usr/share/doc</filename>. Alter this to
+<filename class="directory">/usr/share/doc/sed-&sed-version;</filename> by
+applying the following <command>sed</command>:</para>
+
+<screen><userinput>sed -i 's@/doc@&amp;/sed-&sed-version;@' doc/Makefile.in</userinput></screen>
+
<para>Prepare Sed for compilation:</para>
<screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen>
diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml
index 793e885f6..280945a42 100644
--- a/chapter06/shadow.xml
+++ b/chapter06/shadow.xml
@@ -18,7 +18,7 @@ way.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>0.4 SBU</seg><seg>13.7 MB</seg></seglistitem>
+<seglistitem><seg>0.3 SBU</seg><seg>15.9 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist>
@@ -38,7 +38,17 @@ prior to building Shadow. Then add <parameter>--with-libcrack</parameter> to the
<para>Prepare Shadow for compilation:</para>
-<screen><userinput>./configure --libdir=/lib --enable-shared</userinput></screen>
+<screen><userinput>./configure --libdir=/lib --enable-shared --enable-shadowgrp</userinput></screen>
+
+<para>The meaning of the new configure options:</para>
+<variablelist>
+<varlistentry>
+<term><parameter>--enable-shadowgrp</parameter></term>
+<listitem><para>This version of Shadow defaults to not enabling
+shadow group functionality, which will cause <command>grpconv</command> to fail.
+</para></listitem>
+</varlistentry>
+</variablelist>
<para>Disable the installation of the <command>groups</command> program and its man page, as Coreutils provides a better version:</para>
@@ -153,8 +163,8 @@ by running:</para>
<segtitle>Installed libraries</segtitle>
<seglistitem><seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd,
groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login,
-logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg
-(link to newgrp), useradd, userdel, usermod, vigr (link to vipw), and vipw</seg>
+logoutd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link to newgrp),
+su, useradd, userdel, usermod, vigr (link to vipw), and vipw</seg>
<seg>libshadow.[a,so]</seg>
</seglistitem>
</segmentedlist>
@@ -296,14 +306,6 @@ from <filename>/etc/gshadow</filename> and then deletes the latter</para>
</listitem>
</varlistentry>
-<varlistentry id="mkpasswd">
-<term><command>mkpasswd</command></term>
-<listitem>
-<para>Generates random passwords</para>
-<indexterm zone="ch-system-shadow mkpasswd"><primary sortas="b-mkpasswd">mkpasswd</primary></indexterm>
-</listitem>
-</varlistentry>
-
<varlistentry id="newgrp">
<term><command>newgrp</command></term>
<listitem>