. Check whether vsftpd is installed:
Rpm-Qa | grep vsftpd
2. Install vsftpd in Yum:
Yum install vsftpd
3. Install vsftpd with RPM:
You can get the latest vsftpd RPM package from the following two places: https://www.redhat.com/?http://www.rpmfind.net/
Installation command:
Rpm-uvh vsftpd-1.1.3-8.i386.rpm
4. Set automatic operation and Manual start at each boot:
Chkconfig vsftpd on
Service vsftpd start
Netstat-Tl can check whether the ftp port is listening!
5. Add an FTP account For vsftpd
If a user created with useradd is not followed by a parameter, the user created is a common user and has a system login permission. Therefore, you must add a parameter after the useradd command, add an FTP account for the VM that cannot log on to the system. The command is as follows:
# Useradd-S/sbin/nologin-D/var/www-g ftp ftpadmin
If the following information is displayed:
Creating mailbox file: file exists
Useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
It indicates that the user's home directory already exists (/var/www). You cannot create a new directory, but it does not fail to add a user. Set the password for the user. Otherwise, the account cannot be used. The command is as follows:
# Passwd ftpadmin
In this way, the user ftpadmin is added to the Linux system. The user directory is/var/WWW, which belongs to the FTP user group and cannot be logged on to the system.
Note:
-S/sbin/nologin makes it unable to log on to the system
-D indicates that the user directory is/var/www.
-G ftp: Add users to the FTP group
Modify/var/WWW directory attributes:
$ Chmod-r 777/var/WWW recursively grant read, write, and execute permissions to all files and subdirectories in this directory
$ Chgrp-r FTP/var/WWW recursively sets the group attributes of this directory and all files and subdirectories in this directory to an FTP group
6. Configure the ETC/vsftpd. conf file:
Nano-W/etc/vsftpd. conf
Note: The "-W" parameter must be added to edit the configuration file with nano to cancel the automatic line feed. Otherwise, an error may occur.
Configuration File example:
# Example config file/etc/vsftpd. conf
#
# The default compiled in settings are fairly paranoid. This sample file
# Loosens things up a bit, to make the FTP daemon more usable.
# Please see vsftpd. CONF.5 for all compiled in defaults.
#
# Read this: this example file is not an exhaustive list of vsftpd options.
# Please read the vsftpd. CONF.5 manual page to get a full idea of vsftpd's
# Capabilities.
#
# Allow Anonymous FTP? (Beware-allowed by default if you comment this out ).
Anonymous_enable = No
#
# Uncomment this to allow local users to log in.
Local_enable = Yes
#
# Uncomment this to enable any form of FTP write command.
Write_enable = Yes
#
# Default umask for local users is 077. You may wish to change this to 022,
# If your users CT that (022 is used by most other ftpd's)
Local_umask = 022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# Has an effect if the above global write enable is activated. Also, you will
# Obviously need to create a Directory Writable By the FTP user.
# Anon_upload_enable = Yes
#
# Uncomment this if you want the anonymous FTP user to be able to create
# New directories.
# Anon_mkdir_write_enable = Yes
#
# Activate directory messages-messages given to remote users when they
# Go into a certain directory.
Dirmessage_enable = Yes
#
# Activate logging of uploads/downloads.
Xferlog_enable = Yes
#
# Make sure port transfer connections originate from Port 20 (ftp-data ).
Connect_from_port_20 = Yes
#
# If you want, you can arrange for uploaded anonymous files to be owned
# A different user. Note! Using "root" for uploaded files is not
# Recommended!
# Chown_uploads = Yes
# Chown_username = whoever
#
# You may override where the log file goes if you like. The default is shown
# Below.
# Xferlog_file =/var/log/vsftpd. Log
#
# If you want, you can have your log file in standard ftpd xferlog format
Xferlog_std_format = Yes
#
# You may change the default value for timing out an idle session.
# Idle_session_timeout = 600
#
# You may change the default value for timing out a data connection.
# Data_connection_timeout = 120
#
# It is recommended that you define on your system a unique user which
# Ftp server can use as a totally isolated and unprivileged user.
# Nopriv_user = ft1_cure
#
# Enable this and the server will recognize asynchronous Abor requests. Not
# Recommended for Security (the code is non-trivial). Not enabling it,
# However, may confuse older FTP clients.
# Async_abor_enable = Yes
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# The request. Turn on the below options to have the server actually do ASCII
# Mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a Denial of Service
# Attack (DOS) via the command "size/big/file" in ASCII mode. vsftpd
# Predicted this attack and has always been safe, reporting the size of
# Raw file.
# ASCII mangling is a horrible feature of the Protocol.
# Ascii_upload_enable = Yes
# Ascii_download_enable = Yes
#
# You may fully customise the login banner string:
# Ftpd_banner = welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# Useful for combatting certain DoS attacks.
# Deny_email_enable = Yes
# (Default follows)
# Banned_email_file =/etc/vsftpd/banned_emails
#
# You may specify an explicit list of local users to chroot () to their home
# Directory. If chroot_local_user is yes, then this list becomes a list
# Users to not chroot ().
# Chroot_list_enable = Yes
# (Default follows)
# Chroot_list_file =/etc/vsftpd/chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled
# Default to avoid remote users being able to cause excessive I/O on large
# Sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# The presence of the "-R" option, so there is a strong case for enabling it.
# Ls_recurse_enable = Yes
#
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# Listens on IPv4 Sockets. This directive cannot be used in Conjunction
# With the listen_ipv6 directive.
Listen = Yes
#
# This Directive enables listening on IPv6 Sockets. To listen on IPv4 and IPv6
# Sockets, you must run two copies of vsftpd whith two configuration files.
# Make sure, that one of the listen options is commented !!
# Listen_ipv6 = Yes
Pam_service_name = vsftpd
Chroot_local_user = Yes
Userlist_enable = Yes
Tcp_wrappers = Yes
Note: This configuration file is only modified to the following two items based on the default configuration file:
Anonymous_enable = No # disable anonymous logon
Chroot_local_user = yes # restrict all ftp users in the system to the Home Directory
7. Check who has logged on to FTP and killed the process.
PS-XF | grep FTP
Kill process number
8. log on to the root account under vsftp:
1) EDIT two FTP configuration files:/etc/vsftpd. ftpusers and/etc/vsftpd. user_list. Delete the line of root or comment out the line;
2) restart the vsftpd service:
Service vsftpd restart