Install VSFTPD server on Ubuntu

File Transfer Protocol is TCP protocol used to upload and download the files between two computers over the network, FTP works on a client/server model. The server component is called an FTP daemon. It continuously listens for FTP requests from remote clients. When a request is received, it manages the login and sets up the connection. This article will helps you to install VSFTPD on Ubuntu server as follows:

VSFTPD stands for "Very Secure FTP Daemon" is a GPL licensed FTP server for UNIX systems. It is licensed under the GNU General Public License. vsftpd is the default FTP server in the Ubuntu, CentOS, Fedora, NimbleX, Slackware and RHEL Linux distributions. It is secure and extremely fast and it is stable.

Features:
- Despite being small for purposes of speed and security, many more complicated FTP setups are achievable with vsftpd! vsftpd can handle:
- Virtual IP configurations
- Virtual users
- Standalone or inetd operation
- Powerful per-user configurability
- Bandwidth throttling
- Per-source-IP configurability
- Per-source-IP limits
- IPv6
- Encryption support through SSL integration…

Step 1: Install VSFTPD server
- Login to SSH with root password
- Run the following command to install ftp server

Update reposiroty packages on server with below command
# sudo apt-get update

Then run the below command
# sudo apt-get install vsftpd

Step 2: Enable UFW
- you have to enable port 21 and 20 where the FTP daemons are listening, in order to allow access to FTP services from remote machines, then add the new firewall rules as follows:

# sudo ufw allow 20/tcp
# sudo ufw allow 21/tcp
# sudo ufw status

Step 3: Configure VsFTP server
Let’s now perform a few configurations to setup and secure our FTP server, first we will create a backup of the original config file /etc/vsftpd/vsftpd.conf like so:
# sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Next, let’s open the vsftpd config file.
# sudo vi /etc/vsftpd.conf
OR
# sudo nano /etc/vsftpd.conf

Add/modify the following options with these values:

Now you can configure it to either allow "local users" to be able to login via ftp, or "virtual users".
- To disable anonymous login and to enable local users login and give them write permissions:

# No anonymous login
anonymous_enable=NO

# Let local users login
# If you connect from the internet with local users, you should enable TLS/SSL/FTPS
local_enable=YES

# Write permissions
write_enable=YES

- To chroot users
To jail / chroot users (not the VSFTPD service), there are three choices. Search for "chroot_local_users" on the file and consider one of the following:
# 1. All users are jailed by default:
chroot_local_user=YES
chroot_list_enable=NO

# 2. Just some users are jailed:
chroot_local_user=NO
chroot_list_enable=YES

# Create the file /etc/vsftpd.chroot_list with a list of the jailed users.

# 3. Just some users are "free":
chroot_local_user=YES
chroot_list_enable=YES
# Create the file /etc/vsftpd.chroot_list with a list of the "free" users.

- To deny (or allow) just some users to login
To deny some users to login, add the following options in the end of the file:
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users

In the file /etc/vsftpd.denied_users add the username of the users that can't login. One username per line.

- To allow just some users to login:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

In the file /etc/vsftpd.allowed_users add the username of the users that can login.

The not allowed users will get an error that they can't login before they type their password.

Save and close the file. Don't forget that to apply new configurations, you must restart the vsftpd service.
# sudo service vsftpd restart

Step 4: Create FTP user
You can create a FTP user by using below command:
# sudo adduser “username”
Then enter the password and confirm it.

Step 5: Access FTP server
Lets check the FTP server is working from the server itself. To do so,run the following command:
# sudo telnet localhost 21
Or
# ftp “your_FTPserver_IP”
Enter the FTP server’s username and password, then to exit from FTP, type quit.

File Transfer Protocol is TCP protocol used to upload and download the files between two computers over the network, FTP works on a client/server model. The server component is called an FTP daemon. It continuously listens for FTP requests from remote clients. When a request is received, it manages the login and sets up the connection. This article will helps you to install VSFTPD on Ubuntu server as follows

 

VSFTPD stands for "Very Secure FTP Daemon" is a GPL licensed FTP server for UNIX systems. It is licensed under the GNU General Public License. vsftpd is the default FTP server in the Ubuntu, CentOS, Fedora, NimbleX, Slackware and RHEL Linux distributions. It is secure and extremely fast and it is stable.

 

Features:

Despite being small for purposes of speed and security, many more complicated FTP setups are achievable with vsftpd! vsftpd can handle:

 

Virtual IP configurations

Virtual users

Standalone or inetd operation

Powerful per-user configurability

Bandwidth throttling

Per-source-IP configurability

Per-source-IP limits

IPv6

Encryption support through SSL integration…

 

Step 1: Install VSFTPD server

- Login to SSH with root password

- Run the following command to install ftp server

 

Update reposiroty packages on server with below command

# sudo apt-get update

 

Then run the below command

# sudo apt-get install vsftpd

 

Step 2: Enable UFW

- you have to enable port 21 and 20 where the FTP daemons are listening, in order to allow access to FTP services from remote machines, then add the new firewall rules as follows:

 

# sudo ufw allow 20/tcp

# sudo ufw allow 21/tcp

# sudo ufw status

 

Step 3: Configure VsFTP server

 

Let’s now perform a few configurations to setup and secure our FTP server, first we will create a backup of the original config file /etc/vsftpd/vsftpd.conf like so:

 

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Next, let’s open the vsftpd config file.

 

$ sudo vi /etc/vsftpd.conf

OR

$ sudo nano /etc/vsftpd.conf

 

 

Add/modify the following options with these values:

 

Now you can configure it to either allow "local users" to be able to login via ftp, or "virtual users".

 

- To disable anonymous login and to enable local users login and give them write permissions:

# No anonymous login

anonymous_enable=NO

# Let local users login

# If you connect from the internet with local users, you should enable TLS/SSL/FTPS

local_enable=YES

# Write permissions

write_enable=YES

 

- To chroot users

To jail / chroot users (not the VSFTPD service), there are three choices. Search for "chroot_local_users" on the file and consider one of the following:

# 1. All users are jailed by default:

chroot_local_user=YES

chroot_list_enable=NO

 

# 2. Just some users are jailed:

chroot_local_user=NO

chroot_list_enable=YES

# Create the file /etc/vsftpd.chroot_list with a list of the jailed users.

 

# 3. Just some users are "free":

chroot_local_user=YES

chroot_list_enable=YES

# Create the file /etc/vsftpd.chroot_list with a list of the "free" users.

 

- To deny (or allow) just some users to login

To deny some users to login, add the following options in the end of the file:

userlist_deny=YES

userlist_file=/etc/vsftpd.denied_users

In the file /etc/vsftpd.denied_users add the username of the users that can't login. One username per line.

 

- To allow just some users to login:

userlist_deny=NO

userlist_enable=YES

userlist_file=/etc/vsftpd.allowed_users

In the file /etc/vsftpd.allowed_users add the username of the users that can login.

 

The not allowed users will get an error that they can't login before they type their password.

 

Save and close the file. Don't forget that to apply new configurations, you must restart the vsftpd service.

# sudo service vsftpd restart

 

Step 4: Create FTP user

 

You can create a FTP user by using below command:

# sudo adduser “username”

Then enter the password and confirm it.

 

Access FTP server

Lets check the FTP server is working from the server itself. To do so,run the following command:

# sudo telnet localhost 21

 

Or

 

# ftp “your_FTPserver_IP”

Enter the FTP server’s username and password, then to exit from FTP, type quit

  • 0 کاربر این را مفید یافتند
آیا این پاسخ به شما کمک کرد؟

مقالات مربوطه

Increase PHP file Upload size in windows server 2008

The php.ini file is the default configuration file for running applications that require PHP. It...

Setup Basic POP3/IMAP Mail Server in Centos/RHEL

Setup Basic POP3/IMAP Mail Server in Centos/RHELSetting up a mail server can be quite...

How Do I access RDP

Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a...

Update Time-Zone on OpenVZ VPS

OpenVZ will reflect the host server’s time by default, You can configure your VPS with custom...

Enable TUN/TAP in Solus VM

 TAP (as in network tap) simulates a link layer device and it operates with layer 2 packets such...