source: server/major/vsftpd.xml@ 9f12e36

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 9f12e36 was 9f12e36, checked in by Randy McMurchy <randy@…>, 18 years ago

Removed 'keywordset' blocks and extra spaces from the XML files (note this was by accident as I meant to do just in the gnome directory but I was in the root of BOOK when I ran the script, but this was going to happen anyway so I don't think it is a big deal)

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

  • Property mode set to 100644
File size: 7.9 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 </sect1info>
34
35 <title>vsftpd-&vsftpd-version;</title>
36
37 <indexterm zone="vsftpd">
38 <primary sortas="a-vsftpd">vsftpd</primary>
39 </indexterm>
40
41 <sect2 role="package">
42 <title>Introduction to vsftpd</title>
43
44 <para>The <application>vsftpd</application> package contains a very
45 secure and very small FTP daemon. This is useful for serving files
46 over a network.</para>
47
48 <bridgehead renderas="sect3">Package Information</bridgehead>
49 <itemizedlist spacing="compact">
50 <listitem>
51 <para>Download (HTTP): <ulink url="&vsftpd-download-http;"/></para>
52 </listitem>
53 <listitem>
54 <para>Download (FTP): <ulink url="&vsftpd-download-ftp;"/></para>
55 </listitem>
56 <listitem>
57 <para>Download MD5 sum: &vsftpd-md5sum;</para>
58 </listitem>
59 <listitem>
60 <para>Download size: &vsftpd-size;</para>
61 </listitem>
62 <listitem>
63 <para>Estimated disk space required: &vsftpd-buildsize;</para>
64 </listitem>
65 <listitem>
66 <para>Estimated build time: &vsftpd-time;</para>
67 </listitem>
68 </itemizedlist>
69
70 <bridgehead renderas="sect3">vsftpd Dependencies</bridgehead>
71
72 <bridgehead renderas="sect4">Optional</bridgehead>
73 <para role="optional"><xref linkend="linux-pam"/>,
74 <xref linkend="openssl"/>, and
75 <xref linkend="tcpwrappers"/></para>
76
77 <para condition="html" role="usernotes">User Notes:
78 <ulink url="&blfs-wiki;/vsftpd"/></para>
79
80 </sect2>
81
82 <sect2 role="installation">
83 <title>Installation of vsftpd</title>
84
85 <para>For security reasons, running <application>vsftpd</application>
86 as an unprivileged user and group is encouraged. Also, a user should be
87 created to map anonymous users. As the <systemitem
88 class="username">root</systemitem> user, create the needed directories,
89 users, and groups with the following commands:</para>
90
91<screen role="root"><userinput>install -v -d -m 0755 /var/ftp/empty &amp;&amp;
92install -v -d -m 0755 /home/ftp &amp;&amp;
93groupadd -g 47 vsftpd &amp;&amp;
94useradd -d /dev/null -c "vsftpd User" -g vsftpd -s /bin/false \
95 -u 47 vsftpd &amp;&amp;
96groupadd -g 45 ftp &amp;&amp;
97useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false -u 45 ftp</userinput></screen>
98
99 <para>Build <application>vsftpd</application> as an unprivileged user
100 using the following command:</para>
101
102<screen><userinput>make</userinput></screen>
103
104 <para>Once again, become the <systemitem class="username">root</systemitem>
105 user and install <application>vsftpd</application> with the following
106 commands:</para>
107
108<screen><userinput>install -v -m 755 vsftpd /usr/sbin/vsftpd &amp;&amp;
109install -v -m 644 vsftpd.8 /usr/share/man/man8 &amp;&amp;
110install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 &amp;&amp;
111install -v -m 644 vsftpd.conf /etc</userinput></screen>
112
113 </sect2>
114
115 <sect2 role="commands">
116 <title>Command Explanations</title>
117
118 <para><command>install -v -d ...</command>: This creates the
119 directory that anonymous users will use (<filename
120 class='directory'>/home/ftp</filename>)
121 and the directory the daemon will chroot into
122 (<filename class='directory'>/var/ftp/empty</filename>).</para>
123
124 <note>
125 <para><filename class="directory">/home/ftp</filename> should not be
126 owned by the user <systemitem class="username">vsftpd</systemitem>,
127 or the user <systemitem class="username">ftp</systemitem>.</para>
128 </note>
129
130 <para><command>echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h</command>:
131 Use this prior to <command>make</command> to add support for
132 <application>tcpwrappers</application>.</para>
133
134 <para><command>echo "#define VSF_BUILD_SSL" >>builddefs.h</command>:
135 Use this prior to <command>make</command> to add support for SSL.</para>
136
137 <para><command>install -v -m ...</command>:
138 The <filename>Makefile</filename> uses non-standard installation paths.
139 These commands install the files in
140 <filename class='directory'>/usr</filename> and
141 <filename class='directory'>/etc</filename>.</para>
142
143 </sect2>
144
145 <sect2 role="configuration">
146 <title>Configuring vsftpd</title>
147
148 <sect3 id="vsftpd-config">
149 <title>Config Files</title>
150
151 <para><filename>/etc/vsftpd.conf</filename></para>
152
153 <indexterm zone="vsftpd vsftpd-config">
154 <primary sortas="e-etc-vsftpd.conf">/etc/vsftpd.conf</primary>
155 </indexterm>
156
157 </sect3>
158
159 <sect3>
160 <title>Configuration Information</title>
161
162 <para><application>vsftpd</application> comes with a basic
163 anonymous-only configuration file that was copied to
164 <filename class='directory'>/etc</filename> above. While still as
165 <systemitem class="username">root</systemitem>, this file should be
166 modified because it is now recommended to run <command>vsftpd</command>
167 in standalone mode as opposed to
168 <command>inetd</command>/<command>xinetd</command> mode. Also, you
169 should specify the privilege separation user created above. Finally,
170 you should specify the <command>chroot</command> directory.
171 <command>man vsftpd.conf</command> will give you all the details.</para>
172
173<screen role="root"><userinput>cat &gt;&gt; /etc/vsftpd.conf &lt;&lt; "EOF"
174<literal>background=YES
175listen=YES
176nopriv_user=vsftpd
177secure_chroot_dir=/var/ftp/empty</literal>
178EOF</userinput></screen>
179
180 </sect3>
181
182 <sect3 id="vsftpd-init">
183 <title>Boot Script</title>
184
185 <para>Install the <filename>/etc/rc.d/init.d/vsftpd</filename>
186 init script included in the
187 <xref linkend="bootscripts"/> package.</para>
188
189<screen role="root"><userinput>make install-vsftpd</userinput></screen>
190
191 </sect3>
192
193 </sect2>
194
195 <sect2 role="content">
196 <title>Contents</title>
197
198 <segmentedlist>
199 <segtitle>Installed Program</segtitle>
200 <segtitle>Installed Libraries</segtitle>
201 <segtitle>Installed Directories</segtitle>
202
203 <seglistitem>
204 <seg>vsftpd</seg>
205 <seg>None</seg>
206 <seg>/var/ftp, /var/ftp/empty, /home/ftp</seg>
207 </seglistitem>
208 </segmentedlist>
209
210 <variablelist>
211 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
212 <?dbfo list-presentation="list"?>
213 <?dbhtml list-presentation="table"?>
214
215 <varlistentry id="vsftpd-prog">
216 <term><command>vsftpd</command></term>
217 <listitem>
218 <para>is the FTP daemon.</para>
219 <indexterm zone="vsftpd vsftpd-prog">
220 <primary sortas="b-vsftpd">vsftpd</primary>
221 </indexterm>
222 </listitem>
223 </varlistentry>
224
225 </variablelist>
226
227 </sect2>
228
229</sect1>
Note: See TracBrowser for help on using the repository browser.