glfs/basicnet/netutils/traceroute.xml

171 lines
6.5 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- Inserted as a reminder to do this. The mention of a test suite
is usually right before the root user installation commands. Please
delete these 12 (including one blank) lines after you are done.-->
<!-- Use one of the two mentions below about a test suite,
delete the line that is not applicable. Of course, if the
test suite uses syntax other than "make check", revise the
line to reflect the actual syntax to run the test suite -->
<!-- <para>This package does not come with a test suite.</para> -->
<!-- <para>To test the results, issue: <command>make check</command>.</para> -->
<!ENTITY traceroute-download-http "http://gd.tuwien.ac.at/platform/sun/packages/solaris/freeware/SOURCES/traceroute-&traceroute-version;.tar.gz">
<!ENTITY traceroute-download-ftp "ftp://ftp.ee.lbl.gov/traceroute-&traceroute-version;.tar.gz">
<!ENTITY traceroute-md5sum "964d599ef696efccdeebe7721cd4828d">
<!ENTITY traceroute-size "74 KB">
<!ENTITY traceroute-buildsize "540 KB">
<!ENTITY traceroute-time "0.01 SBU">
]>
<sect1 id="traceroute" xreflabel="Traceroute-&traceroute-version;">
<?dbhtml filename="traceroute.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Traceroute-&traceroute-version;</title>
<indexterm zone="traceroute">
<primary sortas="a-Traceroute">Traceroute</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Traceroute</title>
<para>The <application>Traceroute</application> package contains a program
which is used to display the network route that packets take to reach a
specified host. This is a standard network troubleshooting tool. If you find
yourself unable to connect to another system, traceroute can help pinpoint
the problem.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&traceroute-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&traceroute-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &traceroute-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &traceroute-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &traceroute-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &traceroute-time;</para>
</listitem>
</itemizedlist>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/traceroute"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of Traceroute</title>
<para>Install <application>Traceroute</application> by running the following
commands:</para>
<screen><userinput>sed -i -e 's/-o bin/-o root/' Makefile.in &amp;&amp;
./configure --prefix=/usr &amp;&amp;
make</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role='root'><userinput>make install &amp;&amp;
make install-man</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>sed 's/-o bin/-o root/' Makefile.in</command>:
Adjusts the <filename>Makefile</filename> so that the program is installed
with user <systemitem class='username'>root</systemitem> owning the files
instead of user <systemitem class='username'>bin</systemitem>
(which doesn't exist on a default LFS system).</para>
<para><command>make install</command>: Installs <command>traceroute</command>
with SUID set to <systemitem class="username">root</systemitem> in the
<filename class='directory'>/usr/sbin</filename> directory. This makes it
possible for all users to execute <command>traceroute</command>. For absolute
security, turn off the SUID bit in <command>traceroute</command>'s file permissions
with the command:</para>
<screen role='root'><userinput>chmod -v 0755 /usr/sbin/traceroute</userinput></screen>
<para>The risk is that if a security problem such as a buffer overflow was
ever found in the <application>Traceroute</application> code, a regular user
on your system could gain <systemitem class="username">root</systemitem>
access if the program is SUID <systemitem class="username">root</systemitem>.
Of course, removing the SUID permission also makes it impossible for users other
than <systemitem class="username">root</systemitem> to utilize
<command>traceroute</command>, so decide what's right for
your individual situation.</para>
<para>The goal of BLFS is to be completely FHS compliant, so if you do leave the
<command>traceroute</command> binary SUID <systemitem
class="username">root</systemitem>, then you should move
<filename>traceroute</filename> to <filename class='directory'>/usr/bin</filename>
with the following command:</para>
<screen role='root'><userinput>mv -v /usr/sbin/traceroute /usr/bin</userinput></screen>
<para>This ensures that the binary is in the path for non-root users.</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Program</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>traceroute</seg>
<seg>None</seg>
<seg>None</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="traceroute-prog">
<term><command>traceroute</command></term>
<listitem>
<para>does basically what it says: it traces the route your packets
take from the host you are working on to another host on a network, showing
all the intermediate hops (gateways) along the way.</para>
<indexterm zone="traceroute traceroute-prog">
<primary sortas="b-traceroute">traceroute</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>