Сервер ProFTPD использует всего один файл конфигурации. — /etc/proftpd.conf, который по своей структуре чем-то похож на файл конфигурации Web-сервера Apache (а именно — директивами конфигурирования).
В листинге 11.8 представлен простейший файл конфигурации сервера ProFTPD.
Листинг 11.8. Пример файла конфигурации /etc/proftpd.conf
Директивы конфигурации делятся на две группы: директивы, определяющие некоторые параметры, и блочные директивы. Блочные директивы конфигурирования похожи на тэги языка HTML. С помощью блочных директив задаются блоки, содержащие директивы, которые определяют параметры (см. листинг 11.8). При этом используются начальные и конечные блочные директивы. Конечная директива имеет то же имя, что и начальная, но с наклонной чертой в начале. Например, начальная директива , а конечная — (см. листинг 11.8). Действия каждой пары директив распространяются только на блок, который они задают (который расположен между ними). Директива определяет свойства какого-нибудь каталога. В вышеприведенном листинге (листинг 11.8) определяются свойства корневого каталога.
В табл. 11.5 представлены все директивы файла конфигурации сервера ProFTPD.
Директива |
Описание |
AccessGrantMsg сообщение |
Ответное сообщение, которое будет отправлено пользователю в случае его регистрации или получения анонимного доступа. Символы %u будут заменены на имя пользователя, которое он ввел при регистрации |
Allow from all|host|network [,host|network[,…]] |
Используется внутри блока Limit. Ограничивает доступ к серверу (а именно разрешает доступ). По умолчанию allow from all |
AllowAll |
Разрешает доступ к блокам Directory, Anonymous, Limit |
AllowForeignAddress on|off |
Разрешает клиенту указывать при соединении соединения адрес, который не соответствует ему. По умолчанию off. Может использоваться в блоках VirtualHost, Anonymous, |
AllowGroup список_групп |
Разрешает доступ определенным группам. Используется в блоке Limit |
AllowUser список_пользователей |
Разрешает доступ определенным пользователям. Используется в блоке Limit |
AnonRequirePassword on|off |
Требует пароль при анонимной регистрации. Пароль должен совпадать с паролем того пользователя, который запустил демон. По умолчанию данная опция выключена |
|
Создает анонимную учетную запись, directory — корневой каталог анонимного сервера |
AuthGroupFile путь |
Позволяет указать путь к альтернативному файлу group. По умолчанию используется файл /etc/group |
AuthUserFile путь |
Указывает альтернативный файл passwd |
Bind IP-адрес |
Разрешает привязку дополнительного IP-адреса к основному или виртуальному хосту |
DefaultRoot каталог |
Задает корневой каталог по умолчанию |
Deny from all|host|network |
Запрещает доступ к серверу. Используется в блоке Limit |
DenyAll |
Запрещает анонимным пользователям доступ к объектам, указанным в блоке Limit |
DenyUser |
список пользователей Запрещает доступ определенным пользователям |
путь |
Используется в VirtualHost, Anonymous для того, чтобы определить особенные параметры доступа к каталогу и его подкаталогам |
DisplayFirstChdir файл_сообщения |
Указанный текстовый файл будет выводиться, когда пользователь впервые за время сеанса войдет в данный каталог. Используется в VirtualHost, Directory, Anonymous |
DisplayLogin файл_сообщения |
Этот файл будет отображен, когда пользователь зарегистрируется |
|
Используется для задания параметров, которые будут использоваться как основным, так и всеми виртуальными серверами |
|
Ограничение на выполнение данной FTP-команды, например, LOGIN, WRITE, READ, STOR |
MaxClients number|none сообщение |
Ограничение на количество клиентов. Приведенное сообщение будет отображено, если пользователю будет отказано в доступе. Блоки Anonymous, Global |
MaxLoginAttempts |
Максимальное количество попыток зарегистрироваться. По умолчанию 3. Блоки VirtualHost, Global |
Order allow,deny|deny,allow |
Порядок выполнения директив Allow и Deny в блоке Limit |
PersistentPassword on|off |
При значении on будут использованы системные файлы /etc/passwd и /etc/group, несмотря на то, что командой enroot корневой каталог был изменен |
RequireValidShell on|off |
Разрешает или запрещает регистрацию при использовании оболочек (shells), которые не указаны в файле /etc/shells |
ServerAdmin email |
Определяет email администратора сервера |
ServerType |
Определяет режим работы сервера standalone (по умолчанию) или inetd. В первом случае сервер будет запускаться автоматически из стартовых сценариев системы, во втором — его будет запускать сервер inetd при попытке соединения |
TimeoutIdle секунды |
Время в секундах, в течение которого пользователь имеет право не проявить активности. По умолчанию 60 (1 минута) |
Umask маска |
Определяет права доступа для созданного файла. Маска — число в восьмеричной системе, определяющее набор прав доступа (см. главу 4) |
User имя пользователя |
Имя пользователя, присвоенное демону ProFTP |
UserAlias псевдоним пользователь |
Создает указанный псевдоним для указанного пользователя |
|
Создает виртуальный сервер |