У меня есть сервер CentOS, и я установил сервер vsftpd после этой статьи: http://www.cyberciti.biz/tips/centos-redhat-vsftpd-ftp-with-virtual-users.html
Я создал виртуального пользователя, но в vsftpd.conf сделал следующее:
local_root=/var/www/html
И после того, как порубился корень сети chown -R ftp:ftp /var/www/html
разрешения такие:
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
Как вы видете, fromconsole
папка создана с mkdir
, fromftpclient
это папка, созданная FileZilla
И когда я загружаю с FTP-клиента (FileZilla), папки принадлежат ftp, но если я создаю папку / файлы с консоли, я не могу получить к ним доступ через FTP-клиент.
Мой вопрос: как лучше всего поступать с учетной записью FTP и корневым веб-каталогом apache?
Для apache важно только то, что он может читать файлы.
Пока у «другой» группы есть разрешения на чтение файлов и разрешения на чтение + выполнение для каталогов, apache сможет обслуживать контент.
Что касается разницы между FTP-загрузкой файла и созданием его как root - да, очевидно, есть разница, поскольку вы создали его как корень.
Тогда не делай этого.