My web root, /var/www, is owned by my personal user on the system, however I have also set up an FTP user with /var/www as its home directory.

If I put new files in /var/www via SSH logged in as either user (nano /var/www/something.html) everything is fine and new files recieve permissions 644, which is what I want. New directories put in via mkdir also work fine through each user and recieve permissions 755, also what I want.

The problem is that if I put new files in it via FTP, through either user, they recieve permissions 600, which is not what I want. Directories recieve permissions 700.

So how do I fix it so new files recieve the permissions I want? I am using vsftpd as an FTP server, if that helps anyone.

1 Answer 1


In the configuration file of /etc/vsftpd/vsftpd.conf



(ftp whatever user you want them to be)

Look at /etc/vsftpd/vsftpd.conf.example and read examples. It is pretty self explanatory.

  • Thanks! I'd been banging my head against permissions that seemed to be correct but still wouldn't work. I should have known it would have been in a config file.
    – Alfo
    Jul 22, 2012 at 10:28
  • wouldn't hurt to also run a cron task with a script to verify the permissions say once an hour or so. As root.
    – tao
    Jul 23, 2012 at 16:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.