ProFTPd создают различные виртуальные хосты к различным пользователям

На моем поле:

# 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

Существуют, вероятно, некоторые подобные трассировки решения для виртуализации, которое Вы используете, какой бы ни это.

0
задан 21 March 2016 в 19:17
2 ответа

ничего такого особенного не нужно. все, что вам нужно сделать, это установить для их HomeDir что-то другое, а затем использовать chroot, установив DefaultRoot ~ в вашей конфигурации. когда каждый пользователь входит в систему (независимо от имени, используемого для доступа к нему), он застревает в своем каталоге. не требуются виртуальные хосты (поскольку им потребуются отдельные IPS или порты, поскольку FTP не имеет виртуального хостинга на основе имени, такого как HTTP)

1
ответ дан 4 December 2019 в 14:09

Вы можете использовать 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>
1
ответ дан 4 December 2019 в 14:09

Теги

Похожие вопросы