VSFTPD 553 error: could not create file

Fresh LAMP server setup with Ubuntu 12.04 and VSFTPD.

I'm trying to access the /var/www folder (web root) with FTP user.

I created a new user ftpuser and added it to the www-data user group created automatically by Apache.
Home directory of that user is set to /var/www. I also changed the ownership of the /var/www to www-data group and changed permissions to 02775.

However, I'm still not able to upload files. Error is: "553 Could not create file".

  1. Can someone please explain me how to set these permissions properly?
  2. What is the correct setup? Should I set the home directory of ftpuser to /var/www or somehow diffeerently?

I found a lot of topics on the web but none of them offer a universal solution.

Thank you!


UPDATE:

Here is the output of ls -l of /var/www:

drwxr-sr-x 3 root ftpuser 4096

Content of vsftpd.conf file:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftpuser
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

The problem is because your folder is owned by root, instead of ftpuser.

To fix it run:

sudo chown -R ftpuser:nogroup /var/www/ftuuserfolder

I found I had set the correct ownership, but not the correct permissions.


If your folder is owned by the user 'ftpuser' and group 'www-data' for example, like...

drwxr-sr-x 3 ftpuser www-data 4096

Then you probably haven't run...

sudo chmod -R g+w /var/www/ftpuserfolder

Which gives write permission to the group that owns those files/folders.