source: content/web/proftpd.xml@ a08fde9

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 6.0 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since a08fde9 was a08fde9, checked in by Igor Živković <igor@…>, 20 years ago

Removed /bin/false from /etc/shells and modified ProFTPD instructions to
add its own login shell instead, suggested by Nico R.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@2958 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 6.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY proftpd-download-http "http://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
8 <!ENTITY proftpd-download-ftp "ftp://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
9 <!ENTITY proftpd-size "901 KB">
10 <!ENTITY proftpd-buildsize "7.3 MB">
11 <!ENTITY proftpd-time "0.27 SBU">
12]>
13
14<sect1 id="proftpd" xreflabel="ProFTPD-&proftpd-version;">
15<sect1info>
16<othername>$LastChangedBy$</othername>
17<date>$Date$</date>
18</sect1info>
19<?dbhtml filename="proftpd.html"?>
20<title>ProFTPD-&proftpd-version;</title>
21
22<sect2>
23<title>Introduction to ProFTPD</title>
24
25<para>The <application>ProFTPD</application> package contains a secure and
26highly configurable FTP daemon. This is useful for serving large file archives
27over a network.</para>
28
29<sect3><title>Package information</title>
30<itemizedlist spacing='compact'>
31<listitem><para>Download (HTTP):<ulink url="&proftpd-download-http;"/></para></listitem>
32<listitem><para>Download (FTP): <ulink url="&proftpd-download-ftp;"/></para></listitem>
33<listitem><para>Download size: &proftpd-size;</para></listitem>
34<listitem><para>Estimated Disk space required: &proftpd-buildsize;</para></listitem>
35<listitem><para>Estimated build time: &proftpd-time;</para></listitem></itemizedlist>
36</sect3>
37
38<sect3><title><application>ProFTPD</application> dependencies</title>
39<sect4><title>Optional</title>
40<para><xref linkend="Linux_PAM"/></para></sect4>
41</sect3>
42
43</sect2>
44
45<sect2>
46<title>Installation of <application>ProFTPD</application></title>
47
48<para>For security reasons, running <application>ProFTPD</application>
49as an unprivileged user and group using its own login shell is encouraged.</para>
50
51<screen><userinput><command>groupadd proftpd &amp;&amp;
52ln -s false /bin/proftpdonly &amp;&amp;
53echo /bin/proftpdonly &gt;&gt; /etc/shells &amp;&amp;
54useradd -c proftpd -d /home/ftp -g proftpd -s /bin/proftpdonly proftpd</command>
55</userinput></screen>
56
57<para>Install <application>ProFTPD</application> by running the following commands:</para>
58
59<screen><userinput><command>install_user=proftpd install_group=proftpd \
60 ./configure --prefix=/usr --sysconfdir=/etc \
61 --localstatedir=/var/run &amp;&amp;
62make &amp;&amp;
63make install </command></userinput></screen>
64
65</sect2>
66
67<sect2>
68<title>Command explanations</title>
69
70<para><parameter>install_user=proftpd install_group=proftpd</parameter>:
71Specify the user and group identity for ProFTPD.</para>
72
73<para><parameter>--sysconfdir=/etc</parameter>:
74This prevents the configuration files from going to
75<filename class="directory">/usr/etc</filename>.</para>
76
77<para><parameter>--localstatedir=/var/run</parameter>:
78This uses <filename class="directory">/var/run</filename> instead of
79<filename class="directory">/usr/var</filename> for lock files.</para>
80
81</sect2>
82
83<sect2>
84<title>Configuring <application>ProFTPD</application></title>
85
86<sect3><title>proftpd init.d script</title>
87<para>Install the <filename>/etc/rc.d/init.d/proftpd</filename>
88init script included in the <xref linkend="intro-important-bootscripts"/> package.</para>
89
90<screen><userinput><command>make install-proftpd</command></userinput></screen>
91
92</sect3>
93
94<sect3><title>Config files</title>
95
96<para><filename>/etc/proftpd.conf</filename></para>
97<para>This is a simple, download-only sample configuration. See the ProFTPD
98documentation in <filename class="directory">/usr/share/doc/proftpd</filename>
99and consult the website at <ulink url="http://www.proftpd.org/"/>
100 for example configurations.</para>
101
102<screen><userinput><command>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"</command>
103# This is a basic ProFTPD configuration file
104# It establishes a single server and a single anonymous login.
105
106ServerName "ProFTPD Default Installation"
107ServerType standalone
108DefaultServer on
109
110# Port 21 is the standard FTP port.
111Port 21
112# Umask 022 is a good standard umask to prevent new dirs and files
113# from being group and world writable.
114Umask 022
115
116# To prevent DoS attacks, set the maximum number of child processes
117# to 30. If you need to allow more than 30 concurrent connections
118# at once, simply increase this value. Note that this ONLY works
119# in standalone mode, in inetd mode you should use an inetd server
120# that allows you to limit maximum number of processes per service
121# (such as xinetd)
122MaxInstances 30
123
124# Set the user and group that the server normally runs at.
125User proftpd
126Group proftpd
127
128# Normally, we want files to be overwritable.
129&lt;Directory /*&gt;
130 AllowOverwrite on
131&lt;/Directory&gt;
132
133# A basic anonymous configuration, no upload directories.
134&lt;Anonymous ~proftpd&gt;
135 User proftpd
136 Group proftpd
137 # We want clients to be able to login with "anonymous" as well as "proftpd"
138 UserAlias anonymous proftpd
139
140 # Limit the maximum number of anonymous logins
141 MaxClients 10
142
143 # We want 'welcome.msg' displayed at login, and '.message' displayed
144 # in each newly chdired directory.
145 DisplayLogin welcome.msg
146 DisplayFirstChdir .message
147
148 # Limit WRITE everywhere in the anonymous chroot
149 &lt;Limit WRITE&gt;
150 DenyAll
151 &lt;/Limit&gt;
152&lt;/Anonymous&gt;
153<command>EOF</command></userinput></screen></sect3>
154
155</sect2>
156
157<sect2>
158<title>Contents</title>
159
160<para>The <application>ProFTPD</application> package contains
161<command>ftpcount</command>, <command>ftpshut</command>,
162<command>ftptop</command>, <command>ftpwho</command> and
163<command>proftpd</command>.</para>
164
165</sect2>
166
167<sect2><title>Description</title>
168
169<sect3><title>ftpcount</title>
170<para><command>ftpcount</command> shows the current number of connections.</para></sect3>
171
172<sect3><title>ftpshut</title>
173<para><command>ftpshut</command> shuts down all proftpd servers at a
174given time.</para></sect3>
175
176<sect3><title>ftptop</title>
177<para><command>ftptop</command> displays running status on connections.</para></sect3>
178
179<sect3><title>ftpwho</title>
180<para><command>ftpwho</command> shows current process information for
181each session.</para></sect3>
182
183<sect3><title>proftpd</title>
184<para><command>proftpd</command> is the daemon itself.</para></sect3>
185
186</sect2>
187
188</sect1>
189
Note: See TracBrowser for help on using the repository browser.