Конфигурирование FTP-сервера FreeBSD

Общие сведения о FTP

Протоколы FTP и HTTP могут показаться очень похожими. Оба этих протокола позволяют пересылать файлы, поддерживают аутентификацию пользователей и широко используются при работе в Сети: двоичные и мультимедийные файлы можно загрузить с Web-страниц как по протоколу http://, так и по ftp://. На самом деле эти протоколы были разработаны с разной целью, поэтому наборы поддерживаемых ими свойств значительно отличаются. В табл. 27.1 показаны основные различия в этих протоколах.

Таблица 27.1 Сравнение функциональности протоколов FTP и HTTP

Свойство FTP HTTP

Встроенная аутентификация пользователей Да Нет

Изначально разработан для пересылки Больших двоичных файлов Небольших текстовых

файлов

Двустороннее (Dual connection) Одностороннее (Single connection)

Оба действия Загрузки

Нет Да

Модель соединения

Предназначен в первую очередь для загрузки/выгрузки файлов

Поддерживает тип содержимого (заголовки MIME)

Поддерживает операции с файловой Да Нет

системой (mkdir, rm, rename и т.д.)

Наибольшее различие между FTP и HTTP заключается в следующем: FTP требует установления сеанса связи. Иначе говоря, между клиентом и сервером устанавливается полноценное двустороннее соединение, команды пересылаются в обе стороны и в конце клиент прерывает сеанс со своей стороны. (Вспомните, что HTTP - это протокол, который не поддерживает сеансы, т.е. одиночный запрос, за которым следует одиночный или "конвейерный" ответ.) FTP не ограничивается одним соединением. Фактически, это протокол с двумя соединениями: одно предназначено для двусторонней пересылки команд и статусных сообщений (control connection - управляющее соединение), а второе - непосредственно для пересылки данных (data connection - соединение для передачи данных). Схема FTP-соединения представлена на рис. 27.1.

FTP-клиент (команда ftp, включенная в состав FreeBSD) открывает управляющее соединение с FTP-сервером на 21-ом порту. Соединение остается открытым на протяжении всего сеанса. Когда пользователь вводит команду (например, Is или get picturel.gif), клиент и сервер договариваются о паре TCP-портов, между которыми открывается соединение для передачи данных, которое существует только на время передачи листинга или файла, а затем закрывается. Отдельное соединение для передачи данных открывается при каждой пересылке. Полный сеанс, типичный для работы с FTP, приведен в листинге 27.1.

Листинг 27.1 FTP-сеанс из командной строки

# ftp spots.somewhere.com Connected to spots.somewhere.com.

220 spots.somewhere.com FTP server (Version 6.00LS) ready.

Name (spots.somewhere.com:frank):

331 Password required for frank.

Password:

230 User frank logged in.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd mydir

250 CWD command successful.

ftp> Is

150 Opening ASCII mode data connection for '/bin/Is'.

total 484

rw- r-r- 1 frank frank 43175 Apr

rw -r-r- 1 frank frank 100523 Apr

rw- r-r- 1 frank frank 37864 Apr

rw -r-r- 1 frank frank 37308 Apr

rw -r-r- 1 frank frank 52427 Apr

rw- r-r-- 1 frank frank 18648 Apr

rw- r-r- 1 frank frank 175325 Apr

8 01:14 addresses.txt 8 01:14 contents.html

8 01:14 directions

8 01:14 lk logo.gif

8 01:12 picturel.gif

24 13:04 picture2.jpg

8 01:14 resume.html

226 Transfer complete.

ftp> get picturel.gif

local: picturel.gif remote: picturel.gif

150 Opening BINARY mode data connection for 'picturel.gif (52427 bytes).

100% |**************************************************| 52427 00:00 ETA

226 Transfer complete.

52427 bytes received in 4.99 seconds (10.25 KB/s)

ftp> quit

221 Goodbye.

Первая часть соединения проводит аутентификацию имени пользователя и пароля так же, как это происходит при Telnet-соединении. В отличие от аутентификации пользователя HTTP, которая, фактически, входит в функции Apache и не является частью протокола HTTP, аутентификация пользователей FTP использует информацию об учетных записях пользователей на машине, работающей как FTP-сервер. В этом смысле FTP-соединение очень похоже на Telnet. Чтобы зарегистрироваться в системе по протоколу FTP, пользователю необходимо или ввести корректную ин-формацию о своей учетной записи (имя и пароль) или же воспользоваться аноним-ным FTP (anonymous FTP), если сервер допускает его использование.

F3T поддерживает набор команд, во многом похожих на команды интерпретато-ра: Is, cd, mkdir, pwd и т.д. Эти команды помогают перемещаться по структуре ката-логов и изменять удаленные файлы так же, как если бы они находились на локаль-ной машине. Для перехода к каталогу на локальной машине используется команда led. Она полезна тогда, когда файл необходимо загрузить не в тот каталог, из кото-рого изначально был запущен FTP-клиент. Пересылкой файлов управляют команды put (загрузить на сервер), get (загрузить с сервера), mput (загрузить на сервер не-сколько файлов) и mget (загрузить с сервера несколько файлов). Эти пользователь-ские команды переводятся в команды клиента (например, RETR, STOR, CWD и LIST), которые понимает РТР-сервер, отвечающий с помощью трехзначных кодов наподобие тех, что применяются в HTTP. Значения кодов ответа знать не обязатель-но. Полный список клиентских команд РТР приведен на странице справочного ру-ководства man ftpd.

ПРИМЕЧАНИЕ

Пересылка файлов по FTP осуществляется в одном из двух режимов: ASCII (обычный текст, где все данные пересылаются как буквенно-цифровые символы, а символы конца строки перево-дятся в соответствии с клиентской платформой, т.е. CR/LF для DOS/Windows, CR для Macintosh и LF для UNIX); или Binary (двоичный) (поток двоичных данных). Некоторые FTP-клиенты авто-матически определяют, какой режим является подходящим, и переключаются в него до начала пересылки. Другие клиенты требуют явного выбора режима ASCII или Binary до пересылки файлов. Для переключения режимов используются команды bin и asc

Очень важно, особенно при пересылке с одной платформы на другую таких файлов, как HTML-страницы или сценарии на языке Perl, использовать режим ASCII. В этом случае символы конца строки будут преобразовываться правильно. Двоичный режим приведет к тому, что сценарии Perl, загруженные на сервер с не-UNIХ-клиента, просто не будут выполняться. Однако для изображений, выполняемых файлов и других типов двоичных данных этот режим является обя-зательным. Пересылка двоичных файлов в режиме ASCII приведет к их искажению.

FTP-сервером, используемым во FreeBSD по умолчанию, является стандартный BSD-демон ftpd. Он запускается из суперсервера inetd, как telnetd и Qpopper, и не может работать как отдельный демон. И дело не только в том, что ему недостает нескольких свойств, присущих его альтернативам (например, WU-FTPD или ProFTPD). Основная причина - многочисленные дыры в защите, неизбежные в сложном программном обеспечении. Альтернативные демоны рассматриваются в заключительной части этой главы. Здесь же мы рассмотрим стандартный РТР-сервер FreeBSD.

Обзор структуры каталогов FTP

Если не разрешена анонимная регистрация по FTP, схема расположения файлов на FTP-сервере достаточно проста и интегрирована в систему, как и большинство основных служб. В каталоге /etc находится несколько конфигурационных файлов, часть из которых используется как ресурсы, необходимые и другим службам системного уровня. Начальные каталоги пользователей также являются частью схемы рас-положения файлов FTP-сервера, поскольку каждый зарегистрировавшийся пользо-ватель попадает непосредственно в свой каталог.

Если разрешен анонимный доступ к FTP, то существует корневой каталог сервера FTP (как и для Apache), который создается на этапе конфигурирования. По умолчанию он расположен в /var/ftp и включает несколько подкаталогов, которые позволяют регистрироваться пользователям, не имеющим учетных записей в системе.

Аутентифицированный и анонимный РТР-доступ

Когда пользователь, имеющий в системе учетную запись, регистрируется в системе по FTP с корректным именем и паролем, сервер предоставляет ему доступ к начальному каталогу и всем файлам в нем. Для проверки можно воспользоваться командой ls. Таким образом, каждый пользователь попадает в свою точку иерархии FTP-сервера. Анонимный FTP-доступ позволяет регистрироваться в системе пользо-вателям, не имеющим учетных записей. Пользователь такого типа открывает соеди-нение, вводит в качестве имени anonymous (или ftp) и любую текстовую строку (обыч-но адрес своей электронной почты, хотя это и не обязательно) в качестве пароля. В этом случае он попадает в "общедоступную" область FTP: /var/ftp, начальный ката-лог пользователя ftp (этого пользователя также требуется создать при разрешении анонимного доступа).

Между обычными пользователями и зарегистрировавшимися анонимно существует фундаментальное различие. Для анонимных пользователей с помощью утилиты chroot установлено, что корневым каталогом сервера является каталог /var/ftp. Поэтому им недоступно (даже для просмотра) все, что находится за пределами /var/ftp. Пользователь, зарегистрировавшийся под своей учетной записью, может с помощью команды cd /usr/local перейти к любой части системы и обратиться к файлам с теми же правами доступа, что и в терминальной сессии. Анонимный пользователь, введя команду cd /pub, на самом деле попадет в /var/ftp/pub.

Обычных пользователей, для которых также следует заменить корневой каталог, можно добавить в файл /etc/ftpchroot.

Настройка FTP-сервера

Службы FTP требуют достаточно большого числа конфигурационных файлов, часть из которых находится в каталоге /etc, а часть - в /var/ftp/etc. Причина такого деления заключается в том, что часть файлов должна быть доступна анонимным пользователям FTP, которым недоступно ничего за пределами иерархии /var/ftp. Рассмотрим несколько файлов из каталога /etc, которые глобально влияют на работу FTP-сервера.

o /etc/ftpusers. "Черный список" пользователей, которым запрещен доступ по FTP. Для предотвращения регистрации пользователей по FTP достаточно доба-вить их имена в этот файл.

o /etc/ftpchroot. Пользователи, для которых изменен корневой каталог (наподо-бие того, как это сделано для анонимных пользователей), в результате чего им доступен лишь их начальный каталог.

o /etc/ftphosts. Позволяет конфигурировать виртуальные хосты, как это дела-лось для Apache (см. главу 26).

o /etc/ftpwelcome. Приветственное сообщение. Содержимое этого файла ото-бражается каждому пользователю, устанавливающему соединение, до пригла-шения ввода имени и пароля.

o /etc/ftpmotd. Второе приветственное сообщение (Message Of The Day - "Со-общение дня"), которое отображается обычным пользователям после регист-рации в системе.

o /etc/shells. Мы сталкивались с этим файлом в главе 12. Его задачей является проверка того, что каждый пользователь, регистрирующийся в системе, имеет доступ к корректному командному интерпретатору. Это предотвращает реги-страцию пользователей посредством таких учетных записей, как bin, tty и nobody, для которых в этом файле командные интерпретаторы не указаны.

Кроме конфигурационных файлов в каталоге /etc, существует набор дополни-тельных файлов, управляющих анонимным FTP-доступом. Однако они включают в себя не только конфигурационные файлы. Поскольку для анонимных пользователей /var/ftp представляет собой корневой каталог /, им недоступны средства из таких каталогов, как /bin, или файлы из /etc. FTP-сервер использует несколько системных утилит, в частности /bin/Is и /bin/date для создания листинга файлов и отправки его клиенту. Эти средства должны быть доступны и анонимным пользователям, поэтому и существует каталог

/var/ftp/bin.

Дерево /var/ftp содержит приведенные ниже файлы и каталоги. Любой анонимный пользователь видит эти файлы, но они не являются "опасными" (так, например, файлы /var/ftp/etc не содержат паролей).

o /var/ftp/bin. Этот каталог содержит выполняемые файлы Is и date. Они необхо-димы FTP-серверу, чтобы генерировать листинги, а системные программы (при правильной настройке сервера) /bin/Is и /bin/date недоступны. Такое поведе-ние применяется по умолчанию.

o /var/ftp/etc/passwd, /var/ftp/etc/group. Как и утилиты в /var/ftp/bin, эти фай-лы являются копиями файлов по умолчанию /etc/passwd и /etc/group. Их зада-ча - преобразование идентификаторов в имена пользователей и групп при выводе листингов каталогов. Поскольку анонимный FTP-доступ ограничен каталогом /var/ftp, наличие этих файлов необходимо для отображения прав владения различными файлами в /var/ftp. Обычно файлы в общедоступной области принадлежат пользователю root или другой системной учетной записи, поскольку их, как правило, размещает администратор. Имена других пользо-вателей, поскольку они отсутствуют в /var/ftp/etc/passwd, не будут отобра-жаться, в результате чего анонимным пользователям будут выводиться только числовые идентификаторы.

o /var/ftp/etc/ftpmotd. Этот файл аналогичен /etc/ftpmotd, но отображается он анонимным пользователям. С их точки зрения, это и есть файл /etc/ftpmotd.

o /var/ftp/pub. Видимый анонимным пользователям как /pub, этот каталог со-держит все загружаемые файлы. Иерархия внутри /pub оставлена на усмотре-ние системного администратора.

o /var/ftp/incoming. Этот необязательный каталог имеет права на запись с уста

новленным битом устойчивости (sticky bit) (1777). Это значит, что анонимные

пользователи могут загружать в него файлы. Помните, что это может быть

опасным: этим каталогом могут воспользоваться для обмена пиратским про-

граммным обеспечением или файлами МРЗ. Используйте эту опцию лишь в

случае крайней необходимости!

Заключительный конфигурационный файл, связанный с конфигурацией FTP-cep-вера называется /etc/inetd.conf. Как отмечалось ранее, демон ftpd запускается из суперсервера inetd и не может работать, если inetd не запущен. Вначале необходимо воспользоваться командой ps и определить, обслуживает ли демон запросы:

# ps -waux | grep inetd

root 1640 0.0 0.6 1048 780 ?? Ss ThuO8PM 0:00.15 inetd -Ww

Если среди выполняемых процессов inetd отсутствует, возможно, он отключен в файле /etc/rc.conf. Поищите строку inetd_enable="NO" и уберите ее. Затем откройте файл /etc/inetd.conf и убедитесь, что служба ftpd разрешена:

ftp stream tcp nowait root /usr/libexec/ftpd ftpd -1

Если эта строка закомментирована, уберите комментарий и перезапустите inetd (командой killall -HUP inetd). Проверьте конфигурацию, попытавшись соединиться с сервером (ftp localhost). Если система выдает приглашение для регистрации, значит все в порядке. Если нет, пройдите предыдущие шаги заново. Если потребуется, пере-запустите процесс inetd.

Управление РТР-доступом

FTP не принадлежит к тем службам, использование которых стоит разрешать с легкостью. Хотя для пользователей и может оказаться важным иметь доступ для заг-рузки файлов на сервер (например, Web-страниц), следует помнить, что для вас это потенциальный источник проблем с защитой. В первую очередь потому, что исполь-зуется текстовый механизм, когда все данные (включая и пароли) пересылаются незашифрованными, а следовательно, доступными для прослушивания с помощью соответствующего программного обеспечения. Как мы увидим в главе 29, большин-ство текстовых служб заменено их защищенными эквивалентами: Telnet на SSH, HTTP на Secure HTTP, a POPS и IMAP - аналогичными программами со встроен-ным шифрованием. Однако FTP изначально незащищен и, хотя было предложено несколько решений (например, sftp и sftpd Брайана Веллингтона), незащищенный FTP-доступ продолжает широко использоваться, плохо поддается замене и фактически является обязательным требованием к полнофункциональному серверу. О том, как защитить его, рассказано в главе 29. Кроме того, при разрешении доступа по FTP необходимо принять специальные меры предосторожности.

Помня об этом, в первую очередь нужно блокировать возможность подключения по FTP определенных пользователей. Добиться этого можно несколькими способа-ми. Два наиболее удобных предполагают использование файлов /etc/ftpusers и /etc/ shells. Третий способ, /var/run/nologin, глобально управляет тем, принимает ли сервер соединения.

Файл /etc/ftpusers

Простейший способ запретить отдельному пользователю или целой группе воз-можность соединения с FTP-сервером - добавить его имя в файл /etc/ftpusers, который имеется в инсталляции FreeBSD по умолчанию и включает имена системных псевдопользователей (operator, bin, tty и т.д.). Эти пользователи имеют пустые пароли, a ftpd не позволяет никому соединиться с ним, используя пустой пароль. Добавление имен в файл /etc/ftpusers обеспечивает дополнительный уровень защиты.

В этот файл можно добавить любые нужные имена. Поскольку ftpd перечитывает все конфигурационные файлы при открытии каждого нового соединения, перезапускать какие-либо процессы нет необходимости. Попытайтесь соединиться с FTP-сервером как запрещенный пользователь, вы должны получить следующий ответ:

# ftp localhost

Connected to localhost.somewhere.com.

220 stripes.somewhere.com FTP server (Version 6.00LS) ready. Name (localhost:frank): 530 User frank access denied. ftp: Login failed. ftp>

ПРИМЕЧАНИЕ

Обратите внимание, что сообщение access denied [в доступе отказано) появляется сразу после ввода имени пользователя - пароль даже не запрашивается. Это предотвращает пересылку паролей по сети и является дополнительной мерой предосторожности на случай, если кто-то прослушивает сеть.

В файл /etc/ftpusers можно добавлять и группы. Перед их именем следует указать символ @, например, ©users. Если пользователь является членом этой группы, ему будет отказано в доступе.

Файл /etc/shells

После сверки имени пользователя с файлом /etc/ftpusers демон ftpd проверяет, какой командный интерпретатор назначен пользователю и присутствует ли он в файле /etc/shells. Если нет, пользователь опять-таки получит сообщение access denied. Предотвратить регистрацию в системе с помощью терминальной программы или FTP можно, заменив начальный командный интерпретатор пользователя на /sbin/nologin. Эта утилита рассматривалась в главе 12. Она просто выводит сообщение account not available (учетная запись недоступна) и прекращает работу.

Файл /var/run/nologin

Для полного отключения регистрации по FTP без изменения файла /etc/inetd.conf или других конфигурационных файлов нужно разместить файл с названием nologin в каталоге /var/run. Если ftpd находит этот файл, он отвечает на все попытки соединения следующим образом:

# ftp localhost

Connected to localhost.somewhere.com. 530 System not available. ftp>

Для создания файла (нулевой длины) можно воспользоваться командой touch /var/run/nologin. Чтобы разрешить работу FTP-сервера, достаточно просто удалить этот файл (rm /var/run/nologin).

Разрешение анонимного доступа по FTP

По умолчанию анонимный доступ по FTP запрещен. Разрешить его можно с помощью утилиты sysinstall. Выполните команду /stand/sysinstall, затем перейдите к разделу Configure и Networking. Перейдите к опции Anon FTP и нажмите клавишу пробел. На экране появится меню Anonymous FTP Configuration, показанное на рис. 27.2.

Опции по умолчанию, как правило, подходят для большинства FreeBSD-систем. Поля UID, Group и Comment управляют тем, как создается новый пользователь ftp. Анонимный доступ по FTP работает по следующей схеме: пользователь ftp трактуется как обычный пользователь, добавленный к файлу /etc/ftpchroot, в результате чего регистрация с учетной записью ftp (или ее псевдонимом anonymous) направляет пользователя в каталог /var/ftp.

Остальные поля можно изменить так, как требуется в конкретной системе (на-пример, если UID, равный 14, уже занят или для загрузки файлов на сервер исполь-зуется не incoming, а другой каталог). В результате будет создан пользователь ftp и набор всех нужных подкаталогов в дереве /var/ftp.

Утилита /stand/sysinstall не позволяет запретить анонимный доступ по FTP после того, как он был включен, однако для этого существует несколько других способов:

o Удалить дерево /var/ftp.

o Удалить пользователя ftp.

o Добавить пользователя ftp в файл /etc/ftpusers (вероятно, это самый простой и корректный метод).

Аналогично, загрузку файлов в каталог incoming можно запретить, удалив его или установив права доступа 755 (права доступа по умолчанию, когда записывать что-либо в каталог может только его владелец - пользователь root). Заново разрешить ее можно, изменив права доступа на 1777: chmod 1777 /var/ftp/incoming.

Виртуальный хостинг

Если к машине "привязано" несколько IP-адресов, каждый из них можно сделать отдельным FTP-сервером. Механизмом виртуального хостинга управляет файл /etc/ ftphosts, который не существует в системе FreeBSD по умолчанию (его необходимо создать).

Каждый виртуальный хост определен в своей строке, причем поля указывают на альтернативные конфигурационные файлы каждого хоста, разделенные пустым символом. Различные поля, их назначение и установки по умолчанию (используемые сервером в отсутствие файла /etc/ftphosts) описаны в табл. 27.2.

Таблица 27.2 Поля таблицы виртуальных хостов в файле /etc/ftphosts

Поле Описание Значение по умолчанию

Hostname Имя хоста или IP-адрес виртуального хоста. Отметьте, что Нет

FTP не имеет эквивалента заголовку Host:, используемому в НТТР/1.1, поэтому виртуальные хосты FTP определяются только по IP-адресу машины, к которой подключен клиент, в этом поле указано имя хоста, ftpd все равно использует Даже если соответствующий ему IP-адрес. Помните об этом при добавлении виртуальных хостов.

User Пользователь, начальный каталог которого используется для ftp

анонимного доступа по FTP к виртуальному хосту. Анонимные пользователи попадают в этот каталог как в корневой, поэтому в нем должны присутствовать эквиваленты подкаталогов /var/ftp/etc и /var/ftp/bin.

Statfile Файл статистики, в котором содержится информация обо /var/log/ftpd

всех пересылках по FTP для виртуального хоста.

Welcome Приветственное сообщение, отображаемое при попытке /etc/ftpwelcome

установления соединения с FTP-сервером.

MOTD Сообщение дня, отображаемое после успешной регистрации. /etc/ftpmotd

Ниже приведено несколько примеров виртуальных хостов в файле /etc/ftphosts. Если поле оставлено пустым или содержит дефис (-), используется значение по умолчанию.

64.41.131.106 frank /var/log/ftpd-frank /home/frank/welcome

/home/frank/welcome2

ftp2.somewhere.com ftp2 -

/etc/ftpd2welcome -

64.41.131.107 ftp3 /var/log/ftpd-3

- -

Использование альтернативных FTP-серверов

Существует множество альтернативных пакетов FTP-серверов. Два наиболее по-пулярных из них: WU-FTP Вашингтонского университета и сервер ProFTPD с широкими возможностями конфигурирования.

WU-FTPD

Изначально разработанный в Вашингтонском университете (Washington University) для использования с одной из самых популярных служб распространения дистрибутивов WUarchive, WU-FTPD приобрел широкую популярность и стал самым часто используемым FTP-сервером в мире. Он используется по умолчанию в Linux и многих коммерческих версиях UNIX. Его конфигурация несколько отличается от демона ftpd, включенного по умолчанию во FreeBSD. Он имеет несколько свойств, отсутствующих у ftpd (например, средство проверки конфигурации, возможность оперативного сжатия и упаковки, а также ограничения доступа или объема пересылки по дате и времени). WU-FTPD может понадобиться для поддержки совместимости с другими системами, отличными от FreeBSD.

WU-FTPD распространяется в виде пакета и порта (/usr/ports/ftp/wu-ftpd). После инсталляции переключиться на него с демона ftpd можно, закомментировав строку ftp в файле /etc/inetd.conf и заменив ее на другую:

ftp stream tcp nowait root /usr/local/libexec/ftpd ftpd -1 #ftp stream tcp nowait root /usr/libexec/ftpd ftpd -1

СОВЕТ

WU-FTPD устанавливается как /usr/local/libexec/ftpd, а страницу его справочного руководства нельзя получить напрямую, так как команда man ftpd выдает страницу демона по умолчанию. Для просмотра нужной страницы следует воспользоваться опцией -MI, указывающей альтернативный путь к man-странице: man -M /usr/local/man ftpd

Более подробную информацию о WU-FTPD можно найти на Web-сайте http:// www.wu-ftpd.org.

ProFTPD

ProFTPD был разработан с целью создать FTP-сервер, которым можно было бы управлять с помощью конфигурационных файлов, повторяющих структуру Apache. Конфигурационный файл сервера содержит иерархические блоки, похожие на со-держимое файла httpd.conf (с которым мы познакомились в главе 26), а директивы по своему стилю похожи на директивы Apache. В результате получился сервер, похожий на Apache, с большими возможностями по ограничению доступа. Он обладает высокой степенью конфигурируемости и особенно нравится тем администраторам, которые знакомы с Apache. Его можно установить как пакет или порт (/usr/ports/ftp/ pro ftpd).

Единственное отличие ProFTPD от других серверов состоит в том, что его, как и Apache, можно запускать в самостоятельном режиме, не прибегая к демону inetd. Чтобы запустить его из inetd, достаточно заменить строку ftp по умолчанию новой, указывающей на /usr/local/libexec/proftpd:

ftp stream tcp nowait root /usr/local/libexec/proftpd proftpd #ftp stream tcp nowait root /usr/libexec/ftpd ftpd -1

Домашняя страница ProFTPD находится по адресу http://www.proftpd.org и содержит подробную информацию о его возможностях и директивах конфигурации.

Обновлено: 12.03.2015