Получил ответ:
Поскольку www-data является пользователем, ответственным за веб-сервер, а ваш обычный пользователь отвечает за ftp-сервер, вам необходимо сначала сделать их обоих членами та же группа: группа www-data.
Создание настраиваемого пользователя:
useradd –d /var/www/asasd.com -g www-data -m yourusername
таким образом, домашний каталог будет /var/www/asasd.com , а ваш пользователь будет в группе www-data .
после этого измените пароль пользователя набрав passwd
.
Затем вам нужно создать папку public_html внутри вашей домашней папки yourusername , поскольку FTP не сможет писать в корень вашей домашней папки, вам необходимо создать подпапку.
Удалите права на запись вашей папки yourusername
chmod aw /var/www/asasd.com
Затем примените новые разрешения для подпапки:
chmod -R 775 /var/www/asasd.com/public_html
(обратите внимание, что вы должны использовать 775 chmod, потому что вам нужны разрешения на запись для группы, а не для пользователей, поскольку вы хотите, чтобы вся группа (ftp и www-data) могла писать)
Затем создайте папку для www-data
chown -R www-data: www-data /var/www/asasd.com/public_html
. Таким образом, вы должны иметь возможность использовать FTP и иметь веб-сервер работает.
Удачи!
Забавно, эту информацию так сложно найти. Люди больше не делятся знаниями?
В итоге я использовал
file_open_mode=0777
local_umask=022
в vsftpd.conf. Проблема заключалась в том, что и пользователю FTP, и пользователю www-data требовались разрешения для записи, поэтому мне пришлось присоединить www-data и ftpuser к группе пользователей www-data, а CHMOD -R 775 - все файлы на / var / www - таким образом, с 775 CHMOD группа будет иметь разрешение на чтение, запись и выполнение. Теперь он работает отлично.
У меня также была проблема с изменением прав доступа к файлу, когда я загружаю файл через ftp. Это исправлено изменением одной строки в моем vsftpd.conf
local_umask = val (например, 022,007 и т. Д.)
Если вы используете ftp или анонимного пользователя для загрузки файлов, используйте строки ниже, чтобы установить разрешение на загрузку файла 644 в /etc/vsftpd/vsftpd.conf
файл
file_open_mode=0666
anon_umask=022
Окончательное разрешение: 666-022 = 644
.