Создание поддерева каталогов
Первый шаг по организации работы FTP-сервера — это создание поддерева каталогов. Как правило, корнем этого поддерева является каталог /home/ftp
, но при необходимости вы можете разместить его в другой позиции файловой системы. В большинстве случаев в качестве владельца каталогов указывается root
, либо пользователь, который должен непосредственно заниматься поддержкой FTP-узла, а права доступа к каталогам задаются равными 755 ( rwxr-xr-x
). Это позволяет администратору редактировать файлы, содержащиеся в каталоге, но другим пользователям запись данных запрещена. В отличие от каталогов, при определении прав доступа к файлам не устанавливается бит исполняемой программы.
В большинстве случаев в составе поддерева FTP задаются следующие подкаталоги.
• pub
. В этом каталоге размещаются файлы, предназначенные для копирования на пользовательские компьютеры. Вы можете создавать в каталоге pub
любую структуру подкаталогов и помещать в них любые файлы. Необходимо лишь обеспечить, чтобы пользователь имел право чтения этих файлов.
• bin
. Для выполнения некоторых действий FTP-сервер обращается к другим программам. Эти программы должны находиться в каталоге /bin
(путь к каталогу определяется относительно корневого каталога, заданного с помощью функции chroot()
). Чаще всего серверу требуется утилита ls
, кроме того, в процессе работы ему могут понадобиться программы tar
, gzip
и zcat
(последний файл представляет собой символьную ссылку на gzip
). Установив FTP-сервер, вы, возможно, обнаружите, что в каталоге bin
уже находятся некоторые программы, причем размер их превышает размер соответствующих программ, находящихся в каталоге /bin
системы. Причина в том, что при установке FTP-сервера в состав исполняемого файла помещаются все необходимые коды, в результате чего исключается необходимость в библиотечных файлах. Убедитесь, что для файлов, находящихся в этом каталоге, установлен бит исполняемой программы.
• lib
. В этом каталоге содержатся динамические библиотеки, используемые при работе программ в /bin
. Если вы скопируете в каталог /bin
поддерева FTP утилиты из каталога /bin
операционной системы, вам надо выяснить, какие библиотеки требуются для работы каждой из них. Это позволяет сделать команда ldd
. Так, например, чтобы определить, какие библиотеки нужны для программы надо выполнить команду ldd /bin/ls
.
• etc
. Для работы FTP-сервера требуются два файла, содержащихся в каталоге /etc
: passwd
и group
. Вам нет необходимости копировать соответствующие файлы из каталога /etc
системы. Вам нужна лишь запись для пользователя ftp (либо другого пользователя, учетную запись которого вы используете для организации анонимного доступа).
После того как вы создадите перечисленные выше каталоги и поместите в них требуемые файлы, можете приступать к дальнейшей настройке анонимного FTP-сервера. Возможно, впоследствии вы внесете некоторые изменения в структуру поддерева FTP, например, включите новые файлы или модифицируете существующие. Например, не исключено, что вы захотите, чтобы перед передачей производилось сжатие файла посредством утилиты gzip
. В этом случае вам придется скопировать соответствующий исполняемый файл в каталог /bin
поддерева FTP.
Опции WU-FTPD, используемые при создании анонимного FTP-сервера
Наиболее важные опции, используемые для создания анонимного FTP-сервера на базе продукта WU-FTPD, находятся в файле /etc/ftpaccess
. В процессе настройки вам может потребоваться изменить значения следующих опций.
• class
. Возможно, для обеспечения анонимного доступа вам придется создать новый класс. Для его создания применяются те же средства, что и для формирования других классов.
• compress
, tar
, chmod
, delete
, overwrite
и rename
. Эти опции разрешают или запрещают пользователю выполнять соответствующие командах. Запретив анонимному пользователю вызывать команды, определяемые последними четырьмя опциями, вы лишите его возможности изменять файлы, расположенные на сервере. Эти опции могут показаться излишними, однако некоторая избыточность позволяет сохранить контроль над сервером, если при установке конфигурации была допущена ошибка или если некоторые функции сервера выполняются некорректно.
• anonymous-root
. В качестве значения данной опции надо задать корневой каталог поддерева chroot
, в пределах которого выполняется сервер WU-FTPD.
Читать дальше