ProFTPD. Может загружать только в корневой каталог, но это не удается при загрузке в подкаталогах

Я могу получить файлы, но не могу редактировать и загружать. Тем не менее, я могу загружать файлы и каталоги в корневой каталог.

Здесь я нашел решение, но у меня есть UID и GUID, которые соответствуют пользователям Linux. proftpd не может загрузить (ошибка 550)

Вот сайт, который помог мне настроить ProFTPD https://kyup.com/tutorials/install-configure-proftpd/

Поскольку /var/www/site.com/public_html принадлежит пользователю apache, я изменил пользователя и группу с nobody / nogroup на apache, но это не решает проблему.

ServerName          "ProFTPD server"
ServerIdent         on "FTP Server ready."
ServerAdmin         root@localhost
ServerType standalone
DefaultServer           off
AccessGrantMsg          "User %u logged in."
DeferWelcome            off
DefaultRoot         ~ !adm
AuthPAMConfig           proftpd
AuthOrder           mod_auth_pam.c* mod_auth_unix.c
IdentLookups            off
UseReverseDNS off
Port                21
#Umask              022
ListOptions         "-a"
AllowRetrieveRestart        on
AllowStoreRestart       on
MaxInstances 30
User                apache
Group               apache
UseSendfile         no
ScoreboardFile          /var/run/proftpd.score
<Global>
  AllowOverwrite        yes
  <Limit ALL SITE_CHMOD>
    AllowAll
  </Limit>
RootLogin off
</Global>

<VirtualHost x.x.x.x>
ServerName "vps.site.com"
LoginPasswordPrompt on
Port random_port
DefaultRoot ~
AuthOrder                       mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group

<Directory /var/www/site.com/public_html>
 Umask 022 022
 AllowOverwrite                 on
       <Limit WRITE>
        AllowAll
      </Limit>
</Directory>
</VirtualHost>

 cat /etc/passwd
support:x:501:501::/var/www/site.com/public_html:/sbin/nologin
cat /etc/group
support:x:501:

cat ftpd.passwd
support:xxxxxxx:501:501::/var/www/site.com/public_html:/sbin/nologin
cat ftpd.group
group_name:x:501:
support:x:501:

1 ответ

Пока я вижу три проблемы.

  1. В proftpd.conf у вас есть:

User apache

Group apache

Эти две строки вы можете безопасно удалить.

  1. umask для виртуального хоста:umask 022

  2. Как вы используете, настроил действительную оболочку (/bin/bash) для пользователя ftp, но ваш пользователь (поддержка) - нет.

Другие вопросы по тегам