source: server/major/vsftpd.xml@ 0aeb696

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.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 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 0aeb696 was 0aeb696, checked in by Randy McMurchy <randy@…>, 18 years ago

Added a comment to each file that may need a mention of a test suite added to it, this allows closing of bug #1697

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

  • Property mode set to 100644
File size: 8.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!-- Inserted as a reminder to do this. The mention of a test suite
8 is usually right before the root user installation commands. Please
9 delete these 12 (including one blank) lines after you are done.-->
10
11 <!-- Use one of the two mentions below about a test suite,
12 delete the line that is not applicable. Of course, if the
13 test suite uses syntax other than "make check", revise the
14 line to reflect the actual syntax to run the test suite -->
15
16 <!-- <para>This package does not come with a test suite.</para> -->
17 <!-- <para>To test the results, issue: <command>make check</command>.</para> -->
18
19 <!ENTITY vsftpd-download-http " ">
20 <!ENTITY vsftpd-download-ftp "ftp://vsftpd.beasts.org/users/cevans/vsftpd-&vsftpd-version;.tar.gz">
21 <!ENTITY vsftpd-md5sum "c0bf8c7b8e15ab15827172786fc56115">
22 <!ENTITY vsftpd-size "152 KB">
23 <!ENTITY vsftpd-buildsize "1.4 MB">
24 <!ENTITY vsftpd-time "less than 0.1 SBU">
25]>
26
27<sect1 id="vsftpd" xreflabel="vsftpd-&vsftpd-version;">
28 <?dbhtml filename="vsftpd.html"?>
29
30 <sect1info>
31 <othername>$LastChangedBy$</othername>
32 <date>$Date$</date>
33 <keywordset>
34 <keyword role="package">vsftpd-&vsftpd-version;.tar</keyword>
35 <keyword role="ftpdir">vsftpd</keyword>
36 </keywordset>
37 </sect1info>
38
39 <title>vsftpd-&vsftpd-version;</title>
40
41 <indexterm zone="vsftpd">
42 <primary sortas="a-vsftpd">vsftpd</primary>
43 </indexterm>
44
45 <sect2 role="package">
46 <title>Introduction to vsftpd</title>
47
48 <para>The <application>vsftpd</application> package contains a very
49 secure and very small FTP daemon. This is useful for serving files
50 over a network.</para>
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>Download (HTTP): <ulink url="&vsftpd-download-http;"/></para>
56 </listitem>
57 <listitem>
58 <para>Download (FTP): <ulink url="&vsftpd-download-ftp;"/></para>
59 </listitem>
60 <listitem>
61 <para>Download MD5 sum: &vsftpd-md5sum;</para>
62 </listitem>
63 <listitem>
64 <para>Download size: &vsftpd-size;</para>
65 </listitem>
66 <listitem>
67 <para>Estimated disk space required: &vsftpd-buildsize;</para>
68 </listitem>
69 <listitem>
70 <para>Estimated build time: &vsftpd-time;</para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">vsftpd Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Optional</bridgehead>
77 <para role="optional"><xref linkend="linux-pam"/>,
78 <xref linkend="openssl"/>, and
79 <xref linkend="tcpwrappers"/></para>
80
81 <para condition="html" role="usernotes">User Notes:
82 <ulink url="&blfs-wiki;/vsftpd"/></para>
83
84 </sect2>
85
86 <sect2 role="installation">
87 <title>Installation of vsftpd</title>
88
89 <para>For security reasons, running <application>vsftpd</application>
90 as an unprivileged user and group is encouraged. Also, a user should be
91 created to map anonymous users. As the <systemitem
92 class="username">root</systemitem> user, create the needed directories,
93 users, and groups with the following commands:</para>
94
95<screen role="root"><userinput>install -v -d -m 0755 /var/ftp/empty &amp;&amp;
96install -v -d -m 0755 /home/ftp &amp;&amp;
97groupadd -g 47 vsftpd &amp;&amp;
98useradd -d /dev/null -c "vsftpd User" -g vsftpd -s /bin/false \
99 -u 47 vsftpd &amp;&amp;
100groupadd -g 45 ftp &amp;&amp;
101useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false -u 45 ftp</userinput></screen>
102
103 <para>Build <application>vsftpd</application> as an unprivileged user
104 using the following command:</para>
105
106<screen><userinput>make</userinput></screen>
107
108 <para>Once again, become the <systemitem class="username">root</systemitem>
109 user and install <application>vsftpd</application> with the following
110 commands:</para>
111
112<screen><userinput>install -v -m 755 vsftpd /usr/sbin/vsftpd &amp;&amp;
113install -v -m 644 vsftpd.8 /usr/share/man/man8 &amp;&amp;
114install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 &amp;&amp;
115install -v -m 644 vsftpd.conf /etc</userinput></screen>
116
117 </sect2>
118
119 <sect2 role="commands">
120 <title>Command Explanations</title>
121
122 <para><command>install -v -d ...</command>: This creates the
123 directory that anonymous users will use (<filename
124 class='directory'>/home/ftp</filename>)
125 and the directory the daemon will chroot into
126 (<filename class='directory'>/var/ftp/empty</filename>).</para>
127
128 <note>
129 <para><filename class="directory">/home/ftp</filename> should not be
130 owned by the user <systemitem class="username">vsftpd</systemitem>,
131 or the user <systemitem class="username">ftp</systemitem>.</para>
132 </note>
133
134 <para><command>echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h</command>:
135 Use this prior to <command>make</command> to add support for
136 <application>tcpwrappers</application>.</para>
137
138 <para><command>echo "#define VSF_BUILD_SSL" >>builddefs.h</command>:
139 Use this prior to <command>make</command> to add support for SSL.</para>
140
141 <para><command>install -v -m ...</command>:
142 The <filename>Makefile</filename> uses non-standard installation paths.
143 These commands install the files in
144 <filename class='directory'>/usr</filename> and
145 <filename class='directory'>/etc</filename>.</para>
146
147 </sect2>
148
149 <sect2 role="configuration">
150 <title>Configuring vsftpd</title>
151
152 <sect3 id="vsftpd-config">
153 <title>Config Files</title>
154
155 <para><filename>/etc/vsftpd.conf</filename></para>
156
157 <indexterm zone="vsftpd vsftpd-config">
158 <primary sortas="e-etc-vsftpd.conf">/etc/vsftpd.conf</primary>
159 </indexterm>
160
161 </sect3>
162
163 <sect3>
164 <title>Configuration Information</title>
165
166 <para><application>vsftpd</application> comes with a basic
167 anonymous-only configuration file that was copied to
168 <filename class='directory'>/etc</filename> above. While still as
169 <systemitem class="username">root</systemitem>, this file should be
170 modified because it is now recommended to run <command>vsftpd</command>
171 in standalone mode as opposed to
172 <command>inetd</command>/<command>xinetd</command> mode. Also, you
173 should specify the privilege separation user created above. Finally,
174 you should specify the <command>chroot</command> directory.
175 <command>man vsftpd.conf</command> will give you all the details.</para>
176
177<screen role="root"><userinput>cat &gt;&gt; /etc/vsftpd.conf &lt;&lt; "EOF"
178<literal>background=YES
179listen=YES
180nopriv_user=vsftpd
181secure_chroot_dir=/var/ftp/empty</literal>
182EOF</userinput></screen>
183
184 </sect3>
185
186 <sect3 id="vsftpd-init">
187 <title>Boot Script</title>
188
189 <para>Install the <filename>/etc/rc.d/init.d/vsftpd</filename>
190 init script included in the
191 <xref linkend="bootscripts"/> package.</para>
192
193<screen role="root"><userinput>make install-vsftpd</userinput></screen>
194
195 </sect3>
196
197 </sect2>
198
199 <sect2 role="content">
200 <title>Contents</title>
201
202 <segmentedlist>
203 <segtitle>Installed Program</segtitle>
204 <segtitle>Installed Libraries</segtitle>
205 <segtitle>Installed Directories</segtitle>
206
207 <seglistitem>
208 <seg>vsftpd</seg>
209 <seg>None</seg>
210 <seg>/var/ftp, /var/ftp/empty, /home/ftp</seg>
211 </seglistitem>
212 </segmentedlist>
213
214 <variablelist>
215 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
216 <?dbfo list-presentation="list"?>
217 <?dbhtml list-presentation="table"?>
218
219 <varlistentry id="vsftpd-prog">
220 <term><command>vsftpd</command></term>
221 <listitem>
222 <para>is the FTP daemon.</para>
223 <indexterm zone="vsftpd vsftpd-prog">
224 <primary sortas="b-vsftpd">vsftpd</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 </variablelist>
230
231 </sect2>
232
233</sect1>
Note: See TracBrowser for help on using the repository browser.