I have a CentOS server machine and i installed vsftpd server following this article : http://www.cyberciti.biz/tips/centos-redhat-vsftpd-ftp-with-virtual-users.html

I have created a virtual user but in vsftpd.conf i did the following:


And after chowning the web root chown -R ftp:ftp /var/www/html the permissions are like this:

drwxrwsr-x  4 ftp  ftp  4096 Feb 22 17:28 .
drwxr-xr-x 10 root root 4096 Oct 21 00:05 ..
drwxr-sr-x  2 root ftp  4096 Feb 22 17:28 fromconsole
-rwxrwsr-x  1 ftp  ftp    30 Feb 19 20:02 index.html
drwxrwsr-x  3 ftp  ftp  4096 Feb 22 17:19 fromftpclient

As you can see, fromconsole is folder created with mkdir, fromftpclient is folder created by FileZilla

And when i upload from a FTP Client (FileZilla), the folders are with ftp ownership, but if i create folder/files from the console, i cannot access them via the FTP client.

My question is - What is the best practice to do the thing with the FTP account and the apache web root ?


All that matters to apache is that it can read the files.
As long as the "other" group has read permissions on files and read+execute permissions on directories, apache will be able to serve the content.

As for the difference between FTP-ing a file and creating it as root - yes, obviously there is a difference, since you created it as root.

Don't do that, then.

  • So, if i want to deploy something, i should go with ftp user/group and not root ? :) – Radoslav Georgiev Feb 23 '12 at 11:29
  • Certainly. since root-owned content can't be edited by non-root users later, this is not very efficient for uploadable web content. – adaptr Feb 23 '12 at 11:31

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.