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

Proftpd с серверной частью mariadb (mysql) не может загрузить

У меня proftpd работает с серверной частью mariadb (mysql).

Я создал пользователя midas в базе данных ftp.

В момент первого входа в систему proftpd (запущенный как пользователь proftpd и группа proftpd) создает домашний каталог для этого пользователя, расположенный по адресу /var/ftp/.

Это нормально работает, я вижу создаваемый каталог:

[root@vps ftp]# ls -la
total 24
drwxr-xr-x.  5 proftpd proftpd 4096 10 jul 19:19 .
drwxr-xr-x. 22 root    root    4096 10 jul 12:56 ..
drwxrwxr-x.  2 proftpd proftpd 4096 10 jul 19:34 midas

На стороне клиента выдача put коммандос возвращает 550: Permission denied

ftp> put ~/website.zip remotewebsite.zip
local: /home/midas/website.zip remote: remotewebsite.zip
200 PORT command successful
550 remotewebsite.zip: Permission denied

Чтобы убедиться, что я нахожусь в правильном каталоге и что у proftpd ДЕЙСТВИТЕЛЬНО есть доступ на запись в эту папку, я создал пустой файл somefile.:

[proftpd@vps midas]$ touch somefile -> не возвращает ошибок и отображается для моего пользователя midas сторона клиента.

ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-rw-r--   1 1001     1001            0 Jul 10 17:48 somefile
226 Transfer complete

Я уверен, что мне здесь не хватает элементарного понимания, но должен признаться, что я впервые работаю с виртуальными пользователями. Мы будем очень благодарны за любые указатели на решение.

Точка в конце набора разрешений заставляет меня думать, что у вас включен контекст безопасности SELinux:

drwxrwxr-x.  2 proftpd proftpd 4096 10 jul 19:34 midas
          ^--dot

Либо отключите SELinux, либо сделайте его разрешающим в файле /etc/selinux/config (и то и другое не рекомендуется) или, лучше, установите контекст безопасности:

setsebool -P allow_ftpd_full_access on