После установки ProFTPd администраторы нередко замечают, что FTP-пользователи теряют возможность удалять и изменять файлы — доступна только загрузка. Это ограничение может существенно затруднить работу с сервером и вызвать недовольство пользователей.
Решение этой проблемы заключается в правильной настройке прав доступа через директиву. В этом руководстве мы расскажем, как добавить эту директиву и восстановить полноценный доступ к файлам для ваших пользователей.
После установки ProFTPd у FTP пользователей может пропасть возможность удалять и править файлы. Доступной остается только возможность скачивать их.
Короткая рекомендация
Решение простое — добавить директиву:
allowoverride on
в конфиг-файл:
/usr/local/etc/proftpd.conf
Подробная инструкция по добавлению директивы в файл конфигурации
Если после установки ProFTPd у ваших FTP-пользователей пропала возможность удалять и изменять файлы, и они могут только скачивать их, необходимо настроить права доступа, добавив директиву AllowOverride on в конфигурационный файл ProFTPd. Ниже представлена подробная инструкция, как это сделать через SSH.
Шаг 1. Подключитесь к серверу через SSH
Используйте SSH-клиент, чтобы подключиться к вашему серверу под пользователем с правами администратора (обычно root):
ssh root@IP_АДРЕС_СЕРВЕРА
Замените IP_АДРЕС_СЕРВЕРА на фактический IP-адрес вашего сервера.
Шаг 2. Найдите файл конфигурации ProFTPd
Файл конфигурации ProFTPd обычно располагается по одному из следующих путей:
/usr/local/etc/proftpd.conf
/etc/proftpd/proftpd.conf
/etc/proftpd.conf
Убедитесь, что вы знаете точный путь к файлу на вашей системе.
Шаг 3. Создайте резервную копию конфигурационного файла
Перед внесением изменений рекомендуется создать резервную копию файла:
cp /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.conf.bak
Шаг 4. Откройте файл конфигурации для редактирования
Используйте текстовый редактор, например nano или vi, чтобы открыть файл:
nano /usr/local/etc/proftpd.conf
Шаг 5. Найдите или добавьте секцию настройки директории
В файле конфигурации найдите секцию <Directory> или добавьте её, если она отсутствует. Эта секция определяет настройки доступа для определённого каталога.
Пример секции:
apache
<Directory /путь/к/ftp/каталогу>
# Настройки доступа будут здесь
</Directory>
Если вы не уверены в пути к FTP-каталогу, проверьте настройки сервера или используйте путь по умолчанию /home/ftpusers или аналогичный.
Шаг 6. Добавьте директиву AllowOverride on
Внутри секции <Directory> добавьте строку:
apache
AllowOverride on
В результате секция будет выглядеть так:
apache
<Directory /путь/к/ftp/каталогу>
AllowOverride on
# Другие настройки, если есть
</Directory>
Шаг 7. Сохраните изменения и закройте файл
Если вы используете nano, нажмите:
Ctrl + O и затем Enter, чтобы сохранить файл.
Ctrl + X, чтобы выйти из редактора.
Шаг 8. Перезапустите службу ProFTPd
Чтобы изменения вступили в силу, перезапустите ProFTPd.
На системах с systemd (например, CentOS 7+, Ubuntu 16.04+):
systemctl restart proftpd
На системах с init.d:
service proftpd restart
или
/etc/init.d/proftpd restart
Шаг 9. Проверьте права доступа к файлам и каталогам
Убедитесь, что у FTP-пользователей есть необходимые права на файловой системе:
Проверьте владельца и группу файлов и каталогов:
ls -la /путь/к/ftp/каталогу
Измените владельца и группу при необходимости:
chown -R ftpuser:ftpgroup /путь/к/ftp/каталогу
Замените ftpuser и ftpgroup на актуальные имя пользователя и группы.
Проверьте права доступа (рекомендуется 755 для каталогов и 644 для файлов):
find /путь/к/ftp/каталогу -type d -exec chmod 755 {} \;
find /путь/к/ftp/каталогу -type f -exec chmod 644 {} \;
Шаг 10. Протестируйте работу FTP-сервера
Попробуйте выполнить следующие действия под учетной записью FTP-пользователя:
- Создать новый файл или каталог.
- Изменить существующий файл.
- Удалить файл или каталог.
Если все операции выполняются успешно, настройка завершена.
Дополнительные советы
Логи сервера. Логи обычно находятся в:
/var/log/proftpd/
или
/var/log/messages
Если проблема сохраняется, проверьте логи ProFTPd для получения дополнительной информации:
tail -f /var/log/proftpd/proftpd.log
Проверка синтаксиса конфигурационного файла. Перед перезапуском сервера можно проверить конфигурационный файл на наличие ошибок:
proftpd -t
SELinux и AppArmor. Если на сервере активны системы безопасности SELinux или AppArmor, убедитесь, что они не блокируют операции записи и удаления. Временно отключите их для тестирования или настройте соответствующим образом.
Теперь вы успешно добавили директиву AllowOverride on в конфигурационный файл ProFTPd, что должно вернуть FTP-пользователям возможность удалять и изменять файлы на сервере.
Читайте в блоге: