У меня был ProFTP 1.3.2, и я настроил его на запуск для одного и того же пользователя на разных портах с разными корневыми каталогами. По сути, конфигурация была такой:
<VirtualHost ftp.domain.tld>
Port 1
AuthAliasOnly on
UserAlias xxx yyy
DefaultRoot /var/ftp/subdir
</VirtualHost>
<VirtualHost ftp.domain.tld>
Port 2
AuthAliasOnly on
UserAlias xxx yyy
DefaultRoot /var/ftp/subdir/uploads_weather/
</VirtualHost>
Я сделал это из-за ограничений моей метеостанции, которая не может сохранять данные в подкаталог.
Теперь я установил новый сервер (Debian Stretch) и на нем установлен ProFTP 1.3.5b , но указанная выше конфигурация, похоже, больше не работает. Когда я вхожу в систему через порт 2, я вижу то же содержимое, что и на порту 1.
Я бы хотел, чтобы у меня не было слишком много разных имен пользователей. Можно ли по-прежнему иметь конфигурацию для каждого порта?
Благодаря комментарию Castaglia я смог разобраться в проблеме.
Я запустил ProFTPD на более высоком лог-уровне (proftps -nd10
) и увидел сообщение об ошибке
no matching vhost found for ::ffff:192. 168.178.36#2, используя DefaultServer 'Debian'
Это напомнило мне о том, что ProFTPd выполняет nslookup для своих виртуальных хостов. Это не могло работать в моём тестовом окружении, так как это просто ВМ, недоступная машина в Интернет.
Я исправил тестовое окружение, добавив IP-адрес и имя в /etc/hosts
:
192.168.178.36 ftp.domain.tld