Назад | Перейти на главную страницу

Разрешения для загружаемых файлов по умолчанию vsFTPd в Ubuntu не работают

У меня запущен сервер Ubuntu 12.10 x64, и последняя версия vsFTPd.

У моего пользователя example.com домашняя папка установлена ​​на /var/www/example.com,

Я создал внутри папку public_html и дал 777 permisions к нему и удалил права записи для домашней папки пользователя. Все работает хорошо, но:

Каждый файл, который я загружаю по FTP (с использованием SmartFTP), получает chmod 0.

Мой vsftpd.conf была только одна связанная строка:

local_umask=022.

Я пытался перейти на:

file_open_mode=777
local_umask=002

Так что мои файлы получат 775 как только загрузили.

Но только мои загруженные папки получают 775 разрешения.

Мои загруженные файлы получают 1411 permissions

Может ли кто-нибудь помочь мне решить эту проблему?

В итоге я использовал

file_open_mode=0777
local_umask=022

в vsftpd.conf. Проблема заключалась в том, что и пользователю FTP, и пользователю www-data требовались разрешения для записи, поэтому мне пришлось присоединить www-data и ftpuser к группе пользователей www-data, а CHMOD -R 775 - все файлы на / var / www - таким образом, с 775 CHMOD группа будет иметь разрешение на чтение, запись и выполнение. Теперь он работает отлично.

Получил свой ответ:

Поскольку 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 папка внутри вашего ваш логин домашняя папка, поскольку FTP не сможет писать в корень вашей домашней папки, вам необходимо создать подпапку.

Удалите права на запись вашего ваш логин папка chmod a-w /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 и иметь работающий веб-сервер.

Удачи!

Забавно, эту информацию так сложно найти. Люди больше не делятся знаниями?

Если вы используете ftp или анонимного пользователя для загрузки файлов, используйте следующие строки, чтобы установить разрешение на загрузку файла на 644 в /etc/vsftpd/vsftpd.conf файл

file_open_mode=0666
anon_umask=022

Окончательное разрешение 666-022 = 644.

У меня также была проблема с изменением прав доступа к файлу, когда я загружаю файл через ftp. Это исправлено одним изменением строки в моем vsftpd.conf

local_umask=val(like 022,007,etc.,)

вам нужно изменить владельца этого файла:

chown root:root /home/username