An Ultimate Guide to Setting Up FTP Server to Allow Anonymous Logins
Testing the FTP Server in Linux
We will create a regular PDF file (in this case, the PDF version of the vsftpd.conf manpage) in /storage/ftp.
Note that you may need to install the ghostcript package (which provides ps2pdf) separately, or use another file of your choice:
# man -t vsftpd.conf | ps2pdf - /storage/ftp/vstpd.conf.pdf
To test, we will use both a web browser (by going to
ftp://Your_IP_here) and using the command line client (ftp). Let’s see what happens when we enter that FTP address in our browser:
As you can see, the PDF file we saved earlier in
/storage/ftp is available for you to download.
On the command line, type:
# ftp localhost
And enter anonymous as the user name. You should not be prompted for your password:
To retrieve files using the command line, use the
get command followed by the filename, like so:
# get vsftpd.conf.pdf
and you’re good to go.
In this guide we have explained how to properly set up a FTP and use it to allow anonymous logins. You can also follow the instructions given to disable such logins and only allow local users to authenticate using their system credentials (not illustrated in this article since it is not required on the exam).
If you run into any issues, please share with us the output of the following command, which will stripe the configuration file from commented and empty lines, and we will be more than glad to take a look:
# grep -Eiv '(^$|^#)' /etc/vsftpd/vsftpd.conf
Mine is as below (note that there are other configuration directives that we did not cover in this article as they are set by default, so no change was required at our side):
local_enable=NO write_enable=NO local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ftpd_banner=This is a test FTP server brought to you by Tecmint.com listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES anon_max_rate=10240 local_max_rate=20480 max_per_ip=5 anon_root=/storage/ftp no_anon_password=YES allow_writeable_chroot=YES pasv_enable=YES pasv_min_port=15000 pasv_max_port=15500
Particularly, this directive
will enable the transfer log in
/var/log/xferlog. Make sure you look in that file while troubleshooting.
Additionally, feel free to drop us a note using the comment form below if you have questions or any comments about this article.