I have vsftpd installed on Ubuntu 12.04LTS along with nginx, php, and sql on an Amazon ec2 instance. The web server is good to go, but I'm having trouble connecting to the FTP server. I'm not quite sure how to set the privileges or what configuration options I might be missing.
By default, the location of the web root is at /usr/share/nginx/www
and it is owned by root:root
. The web server runs as user www-data
in the group www-data
.
I've opened port 21 and set the passive ports in the ec2 backend and ufw firewall.
In vsftpd.conf, I have:
...
anonymous_enable=NO
local_enable=YES
local_umask=0027
chroot_local_user=YES
pasv_enable=YES
pas_max_port=12100
pasv_min_port=12000
port_enable=YES
...
Now, I'm unsure how to create the FTP user that when I login, displays my web directory with write access. I've tried it a few different ways, but I keep running into errors (either no connection, no write access, or very slow timeouts.)
Best Answer
First, be sure to open ports 35000:36000 on the firewall to permit PASV FTP.
Then for your
/etc/vsftpd.conf
Then to create a user, run,
Then create the accompanying file in
/etc/vsftpd_user_conf/myusername
The user connects as the
guest_username
stated, so it allows you to have multiple FTP users with different access, but all the while, preserving important file-level owner permissions.That will give you a nice simple, chrooted, secure, isolated and manageable FTP configuration.
You're welcome.