Tutorial guide for setting up an FTP server with vsftp

Source: Internet
Author: User
Tutorial guide for setting up an FTP server with vsftp

1. Download the source code to the server, which is ftp://vsftpd.beasts.org/users/cevans/. the previous example is vsftpd-2.0.5.tar.gz. We strongly recommend that you use the source code for installation to get rid of the confusions similar to RPM package dependencies and work freely in different UNIX/Linux environments.
2. Unzip and install:
Tar zxvf vsftpd-2.0.5.tar.gz; CD vsftp-2.0.5; Make; make install

3. Add ftp users. If there are not many users, simply use the system users. Useradd-D/home/sery; passwd ******.
4. Copy the configuration file. Here there are two:
CP vsftpd. CONF/etc/vsftpd. conf
CP RedHat/vsftpd. PAM/etc/PAM. d/ftp

If you do not copy the vsftpd. Pam file, the FTP user cannot log on. This file is also available in Debian.
5. modify the configuration file/etc/vsftpd. conf. This configuration file is the key to vsftpd. Modify the following values to implement different functions: String 2
(1) modified part:
Set
Local_enable = Yes
Write_enable = Yes
Local_umask = 022
The preceding comment is canceled.

(2) added:
Listen = Yes (FTP acts as an independent Daemon)
Chroot_local_user = Yes (the user is located in his/her home directory and cannot switch to the root directory using CD)

Cmds_allowed = Abor, CWD, list, MDTM, MKD, NLST, pass, PASV,
Port, PWD, quit, RETR, RMD, RNFR, RNTO, site, size, STOR, type, user,
Acct, APPE, cdup, help, mode, Noop, rein, stat, STOU, stru, and syst (only files and directories can be uploaded, but cannot be deleted. Note: these must be written in one row)
6. Start the FTP service:
Vsftpd &
 
Note: The configuration file vsftpd. conf cannot be blank before each line. It must be written in the top level; otherwise, the operation fails.

Pam_service_name = vsftpd
The pam_service_name configuration statement is very tricky In Debian and requires an absolute path. This absolute path is usually/etc/PAM. d/vsftpd. If a local user who can access FTP legally cannot log on to FTP and cannot perform authentication, it is probably the absolute path of Pam.

Vsftpd. conf:
# 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 = Yes
#
# 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

Listen = Yes
Chroot_local_user = Yes

Cmds_allowed = Abor, CWD, list, MDTM, MKD, NLST, pass, PASV, port, PWD, quit, RETR, RMD, RNFR, RNTO, site, size, STOR, type, user, ACCT, APPE, cdup, help, mode, Noop, rein, stat, STOU, stru, syst

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.