На моем поле:
# dmesg | grep -i xen
Xen: 0000000000000000 - 0000000020800000 (usable)
Kernel command line: root=/dev/xvda xencons=tty console=tty1 console=hvc0 nosep nodevfs ramdisk_size=32768 ip_conntrack.hashsize=8192 nf_conntrack.hashsize=8192 ro
Xen reported: 2500.088 MHz processor.
xen_mem: Initialising balloon driver.
Xen virtual console successfully installed as tty1
xen-vbd: registered block device major 202
XENBUS: Device with no driver: device/console/0
Существуют, вероятно, некоторые подобные трассировки решения для виртуализации, которое Вы используете, какой бы ни это.
ничего такого особенного не нужно. все, что вам нужно сделать, это установить для их HomeDir что-то другое, а затем использовать chroot, установив DefaultRoot ~
в вашей конфигурации. когда каждый пользователь входит в систему (независимо от имени, используемого для доступа к нему), он застревает в своем каталоге. не требуются виртуальные хосты (поскольку им потребуются отдельные IPS или порты, поскольку FTP не имеет виртуального хостинга на основе имени, такого как HTTP)
Вы можете использовать chroot
# useradd -s /sbin/nologin -d /var/ftpfolder1 ftpuser1
# useradd -s /sbin/nologin -d /var/ftpfolder2 ftpuser2
Добавьте следующую опцию в proftpd.conf
DefaultRoot ~ !adm
<Global>
RequireValidShell no
...
</Global>
и перезапустите сервер. Если вам действительно нужен виртуальный хост, вы можете попробовать что-то вроде следующего
<VirtualHost ftpsite1.domain.com>
ServerName "FTP1."
DefaultRoot ~
Umask 002
Port 21
<LIMIT LOGIN>
AllowUser ftpuser1
</LIMIT>
</VirtualHost>
<VirtualHost ftpsite2.domain.com>
ServerName "FTP2."
DefaultRoot ~
Umask 002
Port 21
<LIMIT LOGIN>
AllowUser ftpuser2
</LIMIT>
</VirtualHost>