Configure the FTP server with vsftpd in Ubuntu
Configure the FTP server with vsftpd in Ubuntu
After working for a while, I found that although there are a lot of related tutorials on the Internet, it is either too simple to understand the content of the little white; or it is very "high-end ",
For the individual, it is not commonly used or even never used for the whole life. Therefore, based on the various types of online pasters and other resources, I personally tried to install and debug them and organized the following tutorial.
Since then, I have never worried about installing the FTP server with vsftpd In Ubuntu! (PS: This is the simplest and best-to-use tutorial; starting point: it is good to use it)
This article tests the Ubuntu Server 14.04 amd64 system.
Install ftp
sudo apt-get install vsftpd
Configure vsftpd. conf
sudo nano /etc/vsftpd.conf
# Prohibit anonymous access to anonymous_enable = NO # accept the local user local_enable = YES # Allow upload write_enable = YES # the user can only access the restricted directory chroot_local_user = YES # set a fixed directory and add it at the end. If you do not add this line, each user corresponds to his/her own directory. Of course, this folder has its own local_root =/home/ftp
Read the Internet and add a line "pam_service_name = vsftpd". I think this configuration file already exists, and it doesn't matter.
Add an ftp user
sudo useradd -d /home/ftp -M ftpusersudo passwd ftpuser
Adjust folder Permissions
This avoids "500 OOPS: vsftpd: refusing to run with writable root inside chroot ()"
sudo chmod a-w /home/ftpsudo mkdir /home/ftp/data
In this way, the data folder will be displayed after login, although a little trouble, the reason is not listed .. It is not easy to query information ..
Modify pam. d/vsftpd
At this time, log on to the ftp using the useradd account, and the 530 login incorrect
sudo nano /etc/pam.d/vsftpd
Comment out
#auth required pam_shells.so
Restart vsftpd
sudo service vsftpd restart
Now you can use the ftpuser you just created to log on to ftp. What you can see is/home/ftp set by local_root, which is restricted to this directory.
Can be accessed in the browser with a ftp://xxx.xxx.xxx.xxx, or ftp software such as flashFXP, the password is the ftpuser password.
Restrictions on user access to folders
Controlled by the chroot_local_user, chroot_list_enable, and chroot_list_file files, let's take a line from another person:
First, chroot_list_enable is easy to understand, that is, whether to enable the chroot_list_file configuration file. If YES, it indicates that the chroot_list_file configuration file takes effect; otherwise, it does not take effect;
Second, chroot_list_file is also simple. A file path is configured. The default value is/etc/vsftpd. chroot_list. Some account names are entered in this file. However, the meaning of these accounts is not fixed, and it is related to the configuration item chroot_local_user. Description in the next line;
Third, if the value of chroot_local_user is YES, all users * cannot * switch to a directory other than the main directory,! Except for the users listed in the chroot_list_file configuration file. If the value of chroot_local_user is NO, all users can ** switch to a directory other than the home directory,! Except for the users listed in the chroot_list_file configuration file. It can also be understood as the "exceptions" listed by chroot_list_file.
If the system prompts "connection failed in pasv mode" when logging on to the client"
Edit/etc/vsftpd. conf
Last added
pasv_promiscuous=YES
Then restart the vsftpd service.
Sudo service vsftpd restart