воспользоваться этой возможностью, необходимо определить типы файлов архивов.
• ftphosts
. Данный файл позволяет ограничить набор узлов, с которых может осуществляться обращение к FTP-серверу, и даже запретить доступ для отдельных пользователей. Записи, начинающиеся с ключевого слова allow
, разрешают, а записи, начинающиеся с deny
, запрещают обращение для указанных узлов или указанных пользователей. Например, запись deny sjones
означает, что попытки пользователя sjones
зарегистрироваться на FTP-сервере будут блокированы, а запись deny badsite.pangaea.edu
запрещает обращение к серверу для всех пользователей, работающих на узле badsite.pangaea.edu
.
• ftpusers
. Данный файл содержит список локальных пользователей, которым запрещено обращаться к серверу WU-FTPD. Этот файл не является частью WU-FTPD; он действует посредством модулей РАМ (Pluggable Authentication Module). Тем не менее он представляет собой удобное средство противодействия попыткам незаконного использования FTP-сервера. По умолчанию в данный файл включаются имена, соответствующие учетным записям root
, nobody
и daemon
.
• ftpservers
. В обычных условиях один и тот же набор опций используется для работы с любыми клиентами. С помощью данного файла вы можете задать конфигурацию, которая будет применяться только при взаимодействии с определенными узлами. Каждая строка в этом файле содержит IP-адрес или имя узла, за которым следует имя каталога. Если клиент, обратившийся к FTP-серверу, выполняется на одном из указанных компьютеров, WU-FTPD использует для взаимодействия с ним конфигурационные файлы, находящиеся в соответствующем каталоге. Например, запись 192.168.21.8 /etc/ftpd/trusted
означает, что при обращении клиента 192.168.21.8 будут использоваться конфигурационные файлы из каталога /etc/ftpd/trusted
. Этот файл позволят контролировать обращения с внешних узлов и в то же время снимать ограничения для пользователей, работающих в локальной сети.
Из перечисленных выше файлов наиболее важным является ftpaccess
. Файлы ftphosts
, ftpusers
и ftpservers
также имеют большое значение для обеспечения безопасности сервера. Если вы хотите задать обработку файлов перед передачей их клиенту, вам, помимо конфигурационного файла ftpaccess
, потребуется также файл ftpconversions
.
Действие многих из опций, определяющих конфигурацию WU-FTPD, базируется на понятии класса. Класс — это группа пользователей, подобная группе Linux. Для определения класса в файле ftpaccess
предусмотрена опция class
, которая записывается в следующем формате:
class
Назначение компонентов этой записи описано ниже.
• Имя класса. По умолчанию при инсталляции сервера часто создается универсальный класс с именем all
. При необходимости вы можете определить свои классы.
• Список типов. В этом поле указывается список типов учетных записей, соответствующих данному классу. Ключевое слово real
задает локальных пользователей, guest
— пользователей, обращающихся с удаленных узлов, a anonymous описывает учетную запись для анонимного FTP-узла.
• Список адресов. Данный список содержит IP-адреса, имена узлов и имена доменов, принадлежащих классу. Символ !
означает, что указанный пункт должен отсутствовать в составе класса. Символ *
определяет всех клиентов. Если список содержит несколько пунктов, над ними выполняется логическая операция OR
. Например, значение threeroomco.com
, pangaea.edu
определяет всех клиентов, входящих в состав каждого домена.
Стандартный файл ftpaccess
обычно содержит следующее определение:
class all real,guest,anonymous *
Эта запись определяет универсальный класс, применимый ко всем типам доступа и включающий все узлы. Настраивая сервер, вы можете создать несколько классов, например, класс описывающий только локальных пользователей, и класс, соответствующий удаленным пользователям. Даже если классы различаются только списком адресов, вы можете использовать их независимо друг от друга.
В файл ftpaccess
также включаются перечисленные ниже опции.
• deny
. Эта опция указывает WU-FTPD на то, что все попытки доступа, предпринимаемые с указанных адресов, должны отвергаться. Данная опция похожа на запись deny
в файле ftphosts
, но в ней указывается файл, содержащий сообщение. Это сообщение, объясняющее причины отказа в соединении, передается пользователю, обратившемуся к серверу.
• autogroup
. Данная опция указывает, что при получении обращений одного из указанных классов WU-FTPD должен выполнить операцию setgid
с именем группы. С помощью этой опции вы можете разрешить анонимным пользователям, принадлежащим некоторому классу, читать те файлы, которые имеют право читать члены указанной группы, но которые не доступны для чтения остальным пользователям.
• defumask umasк
. Данная опция сообщает WU-FTPD, что если пользователь, принадлежащий указанному классу, передает файл на сервер, то при создании файла должна использоваться маска
.
• timeout
. Данная опция позволяет задает значения тайм-аута. В качестве ключевого слова может использоваться accept
, connect
, data
, idle
, maxidle
или rfc931
.
• noretrieve [relative|absolute] [class=
. Эта опция запрещает передачу указанных файлов. Если вместо имени файла задано имя каталога, все содержимое каталога становится недоступным. При необходимости вы можете применять эту опцию только к указанному классу. Значения relative
и absolute
указывают, должно ли имя файла интерпретироваться как относительное (определяемое относительно корня поддерева chroot
) или как абсолютное (определяемое относительно корневого каталога файловой системы). По умолчанию абсолютным считается имя, начинающееся с символа /
. Например, если задана опция noretrieve /etc /usr
, это означает, что копирование файлов из каталогов /etc
и /usr
запрещено.
Опцию noretrieve
часто используют для того, чтобы запретить доступ к /etc/passwd
, /etc/shadow
, /etc/ftpaccess
, файлу core
(находящемуся в любом каталоге) и другим важным файлам.
• allowretrieve [relative|absolute] [class=
. Данная опция выполняет действия, противоположные опции noretrieve
. С ее помощью определяются исключения из правила, заданного посредством noretrieve
. Синтаксис данной опции полностью совпадает с синтаксисом noretrieve
.
• message
. Опция message
задает файл, содержимое которого