15.4. Starting and Stopping vsftpd
The
vsftpd
RPM installs the /etc/rc.d/init.d/vsftpd
script, which can be accessed using the /sbin/service
command.
To start the server, as root type:
service vsftpd start
To stop the server, as root type:
service vsftpd stop
The
restart
option is a shorthand way of stopping and then starting vsftpd
. This is the most efficient way to make configuration changes take effect after editing the configuration file for vsftpd
.
To restart the server, as root type:
service vsftpd restart
The
condrestart
(conditional restart) option only starts vsftpd
if it is currently running. This option is useful for scripts, because it does not start the daemon if it is not running.
To conditionally restart the server, as root type:
service vsftpd condrestart
By default, the
vsftpd
service does not start automatically at boot time. To configure the vsftpd
service to start at boot time, use an initscript utility, such as /sbin/chkconfig
, /usr/sbin/ntsysv, or the Services Configuration Tool program. Refer to the chapter titled Controlling Access to Services in System Administrators Guide for more information regarding these tools.
15.4.1. Starting Multiple Copies of vsftpd
Sometimes one computer is used to serve multiple FTP domains. This is a technique called multihoming. One way to multihome using
vsftpd
is by running multiple copies of the daemon, each with its own configuration file.
To do this, first assign all relevant IP addresses to network devices or alias network devices on the system. Refer to the chapter titled Network Configuration in System Administrators Guide for more information about configuring network devices and device aliases. Additional information can be found about network configuration scripts in Chapter 8, Network Interfaces.
Next, the DNS server for the FTP domains must be configured to reference the correct machine. If the DNS server is running on Red Hat Enterprise Linux, refer to the chapter titled BIND Configuration in System Administrators Guide for instructions about using the Domain Name Service Configuration Tool (
system-config-bind
). For information about BIND and its configuration files, refer to Chapter 12, Berkeley Internet Name Domain (BIND).
For
vsftpd
to answer requests on different IP addresses, multiple copies of the daemon must be running. The first copy must be run using the vsftpd
initscripts, as outlined in Section 15.4, “Starting and Stopping vsftpd
”. This copy uses the standard configuration file, /etc/vsftpd/vsftpd.conf
.
Each additional FTP site must have a configuration file with a unique name in the
/etc/vsftpd/
directory, such as /etc/vsftpd/vsftpd-site-2.conf
. Each configuration file must be readable and writable only by root. Within each configuration file for each FTP server listening on an IPv4 network, the following directive must be unique:
listen_address=N.N.N.N
Replace N.N.N.N with the unique IP address for the FTP site being served. If the site is using IPv6, use the
listen_address6
directive instead.
Once each additional server has a configuration file, the
vsftpd
daemon must be launched from a root shell prompt using the following command:
vsftpd /etc/vsftpd/<configuration-file>
&
In the above command, replace <configuration-file> with the unique name for the server's configuration file, such as
/etc/vsftpd/vsftpd-site-2.conf
.
Other directives to consider altering on a per-server basis are:
anon_root
local_root
vsftpd_log_file
xferlog_file
For a detailed list of directives available within
vsftpd
's configuration file, refer to Section 15.5, “vsftpd
Configuration Options”.
To configure any additional servers to start automatically at boot time, add the above command to the end of the
/etc/rc.local
file.