Сервер vsftpd способен осуществлять всю передачу данных в пассивном режиме, что сопряжено со значительно меньшим риском, однако не всегда удобно. Чтобы разрешить использование только пассивного режима, достаточно удалить символ комментария у директивы port_enable=NO в конфигурационном файле.
Чтобы разрешить запись файлов на сервер, удалите знак комментария у директивы write_enable=YES. Этого достаточно для того, чтобы пользователи, зарегистрированные локально, получили возможность загружать файлы в те каталоги, для которых они располагают правами на запись. Чтобы разрешить запись файлов анонимным пользователям, необходимо, кроме этого, удалить знак комментария у строки anon_upload_enable=YES. Кроме того, специальный непривилегированный пользователь, используемый для работы с анонимными клиентами, должен иметь права на запись в один или несколько каталогов, доступных таким клиентам.
Для получения дополнительной информации о настройке FTP-сервера vsftpd и параметрах конфигурационного файла обратитесь к странице руководства vsftpd.conf.
Многие параметры использования vsftpd, в том числе относящиеся к безопасности, могут быть заданы при помощи xinetd (демона Интернет-служб). В частности, этот сервер позволяет ограничить количество одновременно выполняемых процессов как по системе в целом, так и для каждого отдельного пользователя, указать пользователя, от имени которого будет выполняться служба, задать приоритет процесса (nice), указать адреса, с которых разрешено подключение к данной службе, а также время доступа и множество других параметров. Вот пример файла конфигурации xinetd для vsftpd:
# default: off # description: The vsftpd FTP server. service ftp { disable = no # включает службу socket_type = stream protocol = tcp wait = no user = root nice = 10 rlimit_as = 16M # устанавливает лимит адресного пространства server = /usr/sbin/vsftpd # путь к исполняемому файлу only_from = 192.168.0.0 # предоставляем доступ из всей подсети 192.168.0 only_from = 207.46.197.100, 207.46.197.101 # доступ с указанных адресов # only_from = 0.0.0.0 # неограниченный по адресам доступ access_times = 2:00-9:00 12:00-24:00 # время, когда возможен доступ }
Для получения дополнительной информации по использованию xinetd обратитесь к страницам руководства xinetd и xinetd.conf.