ProFTPd: права доступа и allowoverride

ProFTPd: права доступа и allowoverride

После установки 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-пользователям возможность удалять и изменять файлы на сервере.

Читайте в блоге:

Что будем искать? Например,VPS-сервер

Мы в социальных сетях