VSFTPD 553 error: could not create file

86,700

Solution 1

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

Solution 2

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.

Share:
86,700

Related videos on Youtube

Aram Boyajyan
Author by

Aram Boyajyan

Senior developer and consultant. Find me on: My personal website Keybase Drupal.org Github Hacker News Reddit

Updated on September 18, 2022

Comments

  • Aram Boyajyan
    Aram Boyajyan almost 2 years

    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
    
    • Blitz
      Blitz about 11 years
      I have the same problem, did you find out anything?
    • Aram Boyajyan
      Aram Boyajyan about 11 years
      Unfortunately no - I gave up and started using git for pushing the code for all projects on that server. It is a dev/testing server only..
    • Aram Boyajyan
      Aram Boyajyan about 10 years
      After some time, I ended up in the same situation on a new server, and Amin Y's answer was the right thing. Permissions were wrong and forcing them again on the folder fixed the issue.