vsftpd is the abbreviation of "very secure FTP daemon", and security is one of its biggest features. vsftpd is the name of a server running on a UNIX-like operating system. It can run on systems such as Linux, BSD, Solaris, HP-UNIX, etc. It is a completely free, open source FTP server software that supports many features that other FTP servers do not support, such as: very high security requirements, bandwidth restrictions, good scalability, the ability to create virtual users, support for IPv6, high speed, etc.
Install vsftpd package
sudo apt-get install vsftpd
Configuring FTP Parameters
sudo nano /etc/vsftpd.conf
Open the configuration file,
anonymous_enable=YES, YES means anonymous login, NO means account and password are required to log in.
write_enable=YES is the main switch for uploading files to the FTP server. There is also a configuration under anonymous users.
local_umask=022 read and write permission configuration
anon_root=XXX, set the access root directory of the anonymous account
local_root=XXX, set the access root directory of the local account
utf8_filesystem=YES, use utf8 file system
ascii_upload_enable=YES, allows ascii code format transmission
ascii_download_enable=YES, allows ascii code format transmission
After the configuration is complete, press ctrl+o, ctrl+x to save and exit.
According to the above configuration, the FTP service can be used. Anonymous users can use the browser or FTP software to enter the address FTP://Raspberry Pi ip to log in to the FTP of the Raspberry Pi. The default directory is. Username, password, etc. Login by entering the address FTP://username: password@Raspberry Pi ip. If you use software, the address and username and password may be entered separately.
Most common browsers can be used to open FTP . As for software, flashFXP and cuteFTP are both good.
vsftp also has configurations such as limiting user and directory access permissions
Set up files to restrict/allow user logins
Configure vsftpd.conf File
userlist_enable=YES
userlist_deny=NO
userlist_config_dir=/etc/vsftpd.config_conf
Create a file named after the login user name in the vsftpd.config_conf directory, and write the configuration items of the current account in the file, such as local_root=/mnt/usb-ntfs to specify the root directory of the logged-in user.
Set whether the user can access the parent directory of the set root directory
Configure vsftpd.conf File
chroot_list_enable=YES,chroot_local_user=NO,chroot_list_file=/etc/vsftpd.chroot_list
It can prevent users written in vsftpd.chroot_list from entering the upper path of the set directory to ensure security.
Restart FTP command: sudo service vsftpd restart