Tagged proftpd.xml

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4349 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Manuel Canales Esparcia 2005-05-18 16:48:09 +00:00
parent 84f1407207
commit ce49e89730

View File

@ -13,152 +13,147 @@
]>
<sect1 id="proftpd" xreflabel="ProFTPD-&proftpd-version;">
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<?dbhtml filename="proftpd.html"?>
<?dbhtml filename="proftpd.html"?>
<title><application>Pro<acronym>FTP</acronym>D</application>-&proftpd-version;</title>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<indexterm zone="proftpd">
<primary sortas="a-proftpd">Proftpd</primary>
</indexterm>
<title>ProFTPD-&proftpd-version;</title>
<sect2>
<title>Introduction to <application>Pro<acronym>FTP</acronym>D</application></title>
<indexterm zone="proftpd">
<primary sortas="a-proftpd">Proftpd</primary>
</indexterm>
<para>The <application>Pro<acronym>FTP</acronym>D</application> package
contains a secure and highly configurable <acronym>FTP</acronym> daemon. This
is useful for serving large file archives over a network.</para>
<sect2 role="package">
<title>Introduction to ProFTPD</title>
<sect3>
<title>Package information</title>
<itemizedlist spacing='compact'>
<listitem><para>Download (HTTP): <ulink url="&proftpd-download-http;"/></para></listitem>
<listitem><para>Download (FTP): <ulink url="&proftpd-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 sum: &proftpd-md5sum;</para></listitem>
<listitem><para>Download size: &proftpd-size;</para></listitem>
<listitem><para>Estimated disk space required: &proftpd-buildsize;</para></listitem>
<listitem><para>Estimated build time: &proftpd-time;</para></listitem>
</itemizedlist>
</sect3>
<para>The <application>ProFTPD</application> package contains a secure
and highly configurable FTP daemon. This is useful for serving large
file archives over a network.</para>
<sect3>
<title><application>Pro<acronym>FTP</acronym>D</application> dependencies</title>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&proftpd-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&proftpd-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &proftpd-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &proftpd-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &proftpd-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &proftpd-time;</para>
</listitem>
</itemizedlist>
<sect4>
<title>Optional</title>
<bridgehead renderas="sect3">ProFTPD Dependencies</bridgehead>
<para><xref linkend="Linux_PAM"/></para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para><xref linkend="Linux_PAM"/></para>
</sect4>
</sect3>
</sect2>
</sect2>
<sect2 role="installation">
<title>Installation of ProFTPD</title>
<sect2>
<title>Installation of <application>Pro<acronym>FTP</acronym>D</application></title>
<para>For security reasons, you should install
<application>ProFTPD</application> using an unprivileged user and group.
As the <systemitem class="username">root</systemitem> user:</para>
<para>For security reasons, you should install
<application>Pro<acronym>FTP</acronym>D</application> using an unprivileged user
and group. As the root user:</para>
<screen><userinput><command>groupadd proftpd &amp;&amp;
<screen role="root"><userinput>groupadd proftpd &amp;&amp;
useradd -c proftpd -d /home/ftp -g proftpd \
-s /usr/lib/proftpd/proftpdshell proftpd &amp;&amp;
install -d -m775 -o proftpd -g proftpd /usr/lib/proftpd &amp;&amp;
ln -s /bin/false /usr/lib/proftpd/proftpdshell &amp;&amp;
echo /usr/lib/proftpd/proftpdshell &gt;&gt; /etc/shells</command></userinput></screen>
install -v -d -m775 -o proftpd -g proftpd /usr/lib/proftpd &amp;&amp;
ln -v -s /bin/false /usr/lib/proftpd/proftpdshell &amp;&amp;
echo /usr/lib/proftpd/proftpdshell &gt;&gt; /etc/shells</userinput></screen>
<para>Install <application>Pro<acronym>FTP</acronym>D</application> as a regular user by running
the following commands:</para>
<para>Install <application>ProFTPD</application> as a regular user by
running the following commands:</para>
<screen><userinput><command>install_user=proftpd install_group=proftpd \
<screen><userinput>install_user=proftpd install_group=proftpd \
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var/run &amp;&amp;
make</command></userinput></screen>
make</userinput></screen>
<para>Now, again as the root user:</para>
<screen><userinput role='root'><command>make install</command></userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
</sect2>
<screen role="root"><userinput>make install</userinput></screen>
<sect2>
<title>Command explanations</title>
</sect2>
<para><command>install -d -m775 -o proftpd -g proftpd /usr/lib/proftpd</command>:
Create the home directory for <application>Pro<acronym>FTP</acronym>D</application>.</para>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>ln -s /bin/false /usr/lib/proftpd/proftpdshell</command>:
Set the default shell as a link to a invalid shell.</para>
<para><command>install -v -d -m775 -o proftpd -g proftpd
/usr/lib/proftpd</command>: Create the home directory for
<application>ProFTPD</application>.</para>
<para><command>echo /usr/lib/proftpd/proftpdshell &gt;&gt; /etc/shells</command>:
Fake a valid shell for compatability purposes.</para>
<para><command>ln -v -s /bin/false /usr/lib/proftpd/proftpdshell</command>:
Set the default shell as a link to a invalid shell.</para>
<note><para>The above three commands can be ommitted if the following directive is
placed in the configuration file:
<para><command>echo /usr/lib/proftpd/proftpdshell &gt;&gt;
/etc/shells</command>: Fake a valid shell for compatability purposes.</para>
<screen>RequireValidShell off</screen>
<note>
<para>The above three commands can be ommitted if the following directive is
placed in the configuration file:</para>
By default, proftpd will require that users logging in have valid shells.
The RequireValidShell directive turns off this requirement. This is only
recommended if you are setting up your <acronym>FTP</acronym> server exclusively
for anonymous downloads.
</para></note>
<screen><literal>RequireValidShell off</literal></screen>
<para><parameter>install_user=proftpd install_group=proftpd</parameter>:
Specify the user and group identity for
<application>Pro<acronym>FTP</acronym>D</application>.</para>
<para>By default, proftpd will require that users logging in have valid
shells. The RequireValidShell directive turns off this requirement. This
is only recommended if you are setting up your FTP server exclusively
for anonymous downloads.</para>
</note>
<para><parameter>--sysconfdir=/etc</parameter>:
This prevents the configuration files from going to
<filename class="directory">/usr/etc</filename>.</para>
<para><parameter>install_user=proftpd install_group=proftpd</parameter>:
Specify the user and group identity for
<application>ProFTPD</application>.</para>
<para><parameter>--localstatedir=/var/run</parameter>:
This uses <filename class="directory">/var/run</filename> instead of
<filename class="directory">/usr/var</filename> for lock files.</para>
<para><parameter>--sysconfdir=/etc</parameter>: This prevents the
configuration files from going to
<filename class="directory">/usr/etc</filename>.</para>
</sect2>
<para><parameter>--localstatedir=/var/run</parameter>:
This uses <filename class="directory">/var/run</filename> instead of
<filename class="directory">/usr/var</filename> for lock files.</para>
<sect2>
<title>Configuring <application>Pro<acronym>FTP</acronym>D</application></title>
</sect2>
<sect3 id='proftpd-init'>
<title>proftpd init.d script</title>
<sect2 role="configuration">
<title>Configuring ProFTPD</title>
<indexterm zone="proftpd proftpd-init">
<primary sortas="f-proftpd">proftpd</primary>
</indexterm>
<sect3 id='proftpd-config'>
<title>Config Files</title>
<para><filename>/etc/proftpd.conf</filename></para>
<para>Install the <filename>/etc/rc.d/init.d/proftpd</filename> init script
included in the <xref linkend="intro-important-bootscripts"/> package.</para>
<indexterm zone="proftpd proftpd-config">
<primary sortas="e-etc-proftpd">/etc/proftpd.conf</primary>
</indexterm>
<screen><userinput><command>make install-proftpd</command></userinput></screen>
</sect3>
</sect3>
<sect3>
<title>Configuration Information</title>
<sect3 id='proftpd-config'>
<title>Config files</title>
<para>This is a simple, download-only sample configuration. See the
<application>ProFTPD</application> documentation in
<filename class="directory">/usr/share/doc/proftpd</filename> and
consult the website at <ulink url="http://www.proftpd.org/"/> for
example configurations.</para>
<indexterm zone="proftpd proftpd-config">
<primary sortas="e-etc-proftpd">/etc/proftpd.conf</primary>
</indexterm>
<para><filename>/etc/proftpd.conf</filename></para>
</sect3>
<sect3><title>Configuration information</title>
<para>This is a simple, download-only sample configuration. See the
<application>Pro<acronym>FTP</acronym>D</application> documentation in
<filename class="directory">/usr/share/doc/proftpd</filename> and consult the
website at <ulink url="http://www.proftpd.org/"/> for example
configurations.</para>
<screen><userinput><command>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"</command>
# This is a basic ProFTPD configuration file
<screen role="root"><userinput>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"
<literal># This is a basic ProFTPD configuration file
# It establishes a single server and a single anonymous login.
ServerName "ProFTPD Default Installation"
@ -207,82 +202,101 @@ Group proftpd
&lt;Limit WRITE&gt;
DenyAll
&lt;/Limit&gt;
&lt;/Anonymous&gt;
<command>EOF</command></userinput></screen></sect3>
&lt;/Anonymous&gt;</literal>
EOF</userinput></screen>
</sect2>
</sect3>
<sect2>
<title>Contents</title>
<sect3 id="proftpd-init">
<title>Boot Script</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>ftpcount, ftpdctl, ftptop, ftpwho, ftpshut, proftpd</seg>
<seg>None</seg>
<seg>/var/run/proftpd</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<para>Install the <filename>/etc/rc.d/init.d/proftpd</filename> init
script included in the <xref linkend="intro-important-bootscripts"/>
package.</para>
<varlistentry id="proftpd-prog">
<term><command>proftpd</command></term>
<listitem>
<para>is the <acronym>FTP</acronym> daemon.</para>
<indexterm zone="proftpd proftpd-prog">
<primary sortas="b-proftpd">proftpd</primary>
</indexterm>
</listitem>
</varlistentry>
<indexterm zone="proftpd proftpd-init">
<primary sortas="f-proftpd">proftpd</primary>
</indexterm>
<varlistentry id="ftpcount">
<term><command>ftpcount</command></term>
<listitem>
<para>shows the current number of connections.</para>
<indexterm zone="proftpd ftpcount">
<primary sortas="b-ftpcount">ftpcount</primary>
</indexterm>
</listitem>
</varlistentry>
<screen role="root"><userinput>make install-proftpd</userinput></screen>
<varlistentry id="ftpshut">
<term><command>ftpshut</command></term>
<listitem>
<para>shuts down all <application>proftpd</application> servers at a given time.</para>
<indexterm zone="proftpd ftpshut">
<primary sortas="b-ftpshut">ftpshut</primary>
</indexterm>
</listitem>
</varlistentry>
</sect3>
<varlistentry id="ftptop">
<term><command>ftptop</command></term>
<listitem>
<para>displays running status on connections.</para>
<indexterm zone="proftpd ftptop">
<primary sortas="b-ftptop">ftptop</primary>
</indexterm>
</listitem>
</varlistentry>
</sect2>
<varlistentry id="ftpwho">
<term><command>ftpwho</command></term>
<listitem>
<para>shows current process information for each session.</para>
<indexterm zone="proftpd ftpwho">
<primary sortas="b-ftpwho">ftpwho</primary>
</indexterm>
</listitem>
</varlistentry>
<sect2 role="content">
<title>Contents</title>
</variablelist>
</sect2>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>ftpcount, ftpdctl, ftptop, ftpwho, ftpshut, proftpd</seg>
<seg>None</seg>
<seg>/var/run/proftpd</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="proftpd-prog">
<term><command>proftpd</command></term>
<listitem>
<para>is the FTP daemon.</para>
<indexterm zone="proftpd proftpd-prog">
<primary sortas="b-proftpd">proftpd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ftpcount">
<term><command>ftpcount</command></term>
<listitem>
<para>shows the current number of connections.</para>
<indexterm zone="proftpd ftpcount">
<primary sortas="b-ftpcount">ftpcount</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ftpshut">
<term><command>ftpshut</command></term>
<listitem>
<para>shuts down all <application>proftpd</application> servers
at a given time.</para>
<indexterm zone="proftpd ftpshut">
<primary sortas="b-ftpshut">ftpshut</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ftptop">
<term><command>ftptop</command></term>
<listitem>
<para>displays running status on connections.</para>
<indexterm zone="proftpd ftptop">
<primary sortas="b-ftptop">ftptop</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ftpwho">
<term><command>ftpwho</command></term>
<listitem>
<para>shows current process information for each session.</para>
<indexterm zone="proftpd ftpwho">
<primary sortas="b-ftpwho">ftpwho</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>