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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .