Виртуальный FTP-сервер
Рассмотрим конфигурирование виртуального FTP-сервера на примере ProFTP. Демон proftpd позволяет обслуживать сразу несколько FTP-узлов. Виртуальные FTP-узлы нужны когда мы, например, хотим организовать несколько FTP-узлов - один для одной рабочей группы, другой - для второй, в третий может быть анонимным и т.д.
Настройка виртуального FTP-узла очень похожа на настройку виртуального Web-сервера - даже используется та же директива VirtualHost. Linux может поддерживать несколько Ip-адресов, благодаря чему мы можем создать виртуальные узлы. Дополнительные IP-адреса, которыми вы располагаете можно использоваться виртуальными узлами. При конфигурировании виртуальных FTP-узлов каждому виртуальному узлу нужно присвоить отдельный IP-адрес.
Для конфигурирования виртуального FTP в файл proftpd.conf нужно добавить директиву VirtualHost, содержащую IP-адрес. <VirtualHost 192.168.1.5> ServerName "Virtual FTP Server" </VirtualHost>
В блок VirtualHost можно другие вставить директивы, например, директиву Anonymous, которая создаст гостевой узел. Можно также задать каталог или порт.
Пример 2.1.
<VirtualHost ftp.library.com> ServerName "Online library" MaxClients 15 MaxLoginAttempts 1 DeferWelcome on <Limit LOGIN> Allow from 192.168.1 Deny from all </Limit>
<Limit WRITE> AllowUser libadmin DenyAll </Limit>
<Anonymous /var/ftp/library/books> User library Group library AnonRequirePassword on
<Anonymous /var/ftp/library> User ftp Group ftp UserAlias anonymous ftp </Anonymous> </VirtualHost>
В примере 2.1 приведена конфигурация виртуального сервера ftp.library.com. В директиве VirtualHost используется доменное имя, которое должно быть прописано в сервере DNS. IP-адрес должен указывать на узел сети, на котором запущен демон proftpd. В конфигурации 2.1 также конфигурируются две анонимных учетных записи - library и ftp. Причем учетная запись library требует ввода пароля при регистрации. Пароль должен совпадать с паролем того пользователя, который запустил демон. Доступ к виртуальному серверу разрешен только для нашей подсети (192.168.1.0). Записывать данные на сервер может только пользователь libadmin.