Конфигурационный
файл для ftpd
Имя
/etc/ftpd.conf
Описание:
В файле /etc/ftpd.conf
определены различные конфигурационные опции для ftpd, которые
применяются после аутентификации соединения пользователя.
Каждый
прошедший аутентификацию пользователь является членом класса
(согласно определению в файле /etc/ftpusers),
от
которого зависит, какие записи в файле соответствуют данному
пользователю. При синтаксическом анализе записей различают
следующие специальные классы:
all
Соответствует
любому классу.
none
Не
соответствует ни одному классу.
Файл /etc/ftpd.conf содержит
набор строк, каждая из которых содержит конфигурационную
директиву или комментарий, либо является пустой. Директивы,
которые представленные в файле последними, переопределяют
значения, заданные предыдущими директивами. Это позволяет
использовать "групповые символы" для определения значений по
умолчанию, после чего обеспечить переопределение на основе
классов.
"\" – символ начала управляющей последовательности. Этот
символ используется для экранирования символа комментария
или, если он является последним символом в строке, – для
распространения конфигурационной директивы на несколько
строк. "#" – символ комментария. Все последующие символы до
конца строки игнорируются (за исключением случаев, когда
этот символ экранируется символом начала управляющей
последовательности).
Команда STAT ftpd
возвращает параметры класса для текущего пользователя в
соответствии с файлом /etc/ftpd.conf.
Каждая
конфигурационная строка может выглядеть как одна из следующих:
checkportcmd
класс
[off]
Проверить,
действительна ли команда PORT. Выполнение команды PORT
завершается неуспешно, если указанный IP-адрес не
соответствует параметрам соединения команды FTP или номер
удаленного порта TCP меньше, чем значение IPPORT_RESERVED. Эта
опция настоятельно рекомендуется к использованию, особенно в
компаниях с высоким уровнем риска скрытых атак по FTP. Если
аргумент класс
принимает значение none или off,
эта возможность отключается.
chroot класс
[формат_пути]
Указать
корневой каталог, используемый chroot()
при входе в систему. Имя каталога создается путем
синтаксического анализа аргумента формат_пути.
Можно использовать следующие управляющие последовательности:
Управляющая
последовательность:
|
Описание:
|
%c
|
Имя класса
|
%d
|
Основной каталог
пользователя
|
%u
|
Имя пользователя
|
%%
|
Символ %
|
Если
аргумент формат_пути
не задан или аргумент класс
принимает значение none, каталогом по
умолчанию для пользователей REAL (или
основным каталогом для пользователей GUEST
и CHROOT)
является /.
classtype
класс
тип
Установить
для типа класса
значение тип,
где аргумент тип
принимает одно из следующих значений:
CHROOT
Пользователи,
определенные функцией chroot()
(в соответствии с /etc/ftpchroot).
Функция chroot()
выполняется после входа в систему.
GUEST
Гостевые
пользователи (в соответствии с учетными данными пользователей
anonymous
и ftp).
Функция
chroot()
выполняется после входа в систему.
REAL
Обычные
пользователи.
conversion
класс
суффикс
[тип
деактивация
команда]
Настроить
автоматическое преобразование inline-файла. Если извлекаемый
файл завершается суффиксом
и существует реальный файл (без суффикса),
вместо
содержимого файла возвращается результат команды.
суффикс
Суффикс
для инициирования преобразования.
тип
Список
действительных типов файлов для преобразования. Допустимыми
являются следующие типы: f
(файл) и d
(каталог).
деактивация
Файл,
предотвращающий преобразование (если он существует). Имя файла
"."
препятствует выполнению этого действия (т.е. преобразование
разрешено без ограничений).
команда
Выполняемая
команда преобразования. Поскольку для выполнения команды
используется функция execv(),
первым словом должно быть полное путевое имя команды. Все
инстанции слова %s в команде заменяются
требуемым файлом (без суффикса).
Директивы
преобразования, указанные в файле далее, переопределяют
директивы преобразования с таким же суффиксом.
display
класс
[файл]
Вывести
содержимое файла
(если он существует) при каждом переходе пользователя в другой
каталог. Поддерживаются управляющие последовательности. Для
получения дополнительной информации см. раздел "Display file
escape sequences" ("Просмотр управляющих последовательностей
файла" в документации NetBSD по ftpd
по адресу http://netbsd.gw.com/cgi-bin/man-cgi?ftpd++NetBSD-4.0.
Если
аргумент файл
не задан или аргумент класс
принимает значение none,
эта возможность отключается.
limit
класс
число
[файл]
Ограничить
максимальное число параллельных соединений для класса
значением число,
где 0
указывает на отсуствие ограничений для соединений. Если предел
превышен и аргумент файл
определен, то пользователю выводится содержимое файла. Эта
строка игнорируется, если аргумент класс
имеет значение none или значение число
не определено.
homedir
класс
[формат_пути]
Определить
каталог, к которому следует перейти при входе в систему, и
использовать его в качестве основного каталога пользователя
для замены тильды в путевых именах и т.д. Синтаксический
анализ аргумента формат_пути
выполняется в соответствии с директивой chroot.
Если
аргумент формат_пути
не задан или переменная класс
принимает значение none, то основной каталог
по умолчанию является основным каталогом для пользователей REAL
или каталогом / для пользователей GUEST
и CHROOT.
maxtimeout
класс
время
Установить
максимальный таймаут, запрашиваемый клиентом (значение по
умолчанию – 2 часа). Этот период не может составлять меньше 30
секунд или соответствовать значению директивы timeout.
Эта строка игнорируется, если аргумент класс
принимает значение none или аргумент время
не задан.
modify
класс
[off]
Если
аргумент класс
принимает значение none или указано значение
off,
необходимо отключить команды CHMOD,
DELE,
MKD,
RMD,
RNFR
и UMASK.
В противном случае эти команды следует включить.
motd
класс
[файл]
Вывести
содержимое файла файл
в качестве "сообщения дня"после входа в систему.
Поддерживаются управляющие последовательности. Для получения
дополнительной информации см. раздел "Display file escape
sequences" ("Просмотр управляющих последовательностей файла" в
документации NetBSD по ftpd по адресу http://netbsd.gw.com/cgi-bin/man-cgi?ftpd++NetBSD-4.0.
Если
аргумент файл
не задан или аргумент класс
принимает значение none, эта возможность
отключается.
notify
класс
[fileglob]
Уведомлять
пользователя о любых файлах, соответствующих шаблону fileglob
при каждом переходе пользователя в другой каталог.
Если
аргумент fileglob
не определен или аргумент класс
принимает значение none, эта опция не
используется.
passive
класс
[off]
Если
аргумент класс
принимает значение none
или off,
пассивные соединения (PASV/LPSV/EPSV) не
допускаются.
portrange
класс
мин макс
Установить
диапазон номеров портов, используемых для порта пассивных
данных. Значение макс
должно быть больше значения мин,
и оба эти значения должны находиться в интервале между
IPPORT_RESERVED и IPPORT_ANONMAX.
rateget
класс
скорость
Установить
максимальный коэффициент скорости входящей передачи (RETR)
для класса
с помощью аргумента скорость
(в байтах в секунду). Если аргумент скорость
принимает значение 0, коэффициент не определен.
Можно
использовать дополнительный суффикс, изменяющий интерпретацию
аргумента скорость
следующим образом:
-
b – без
изменений (необязательный суффикс).
-
k – килобайт.
Аргумент умножается на 1024.
-
m – мегабайт.
Аргумент умножается на 1048576.
-
g – гигабайт.
Аргумент умножается на 1073741824.
rateput
класс
скорость
Установить
максимальный коэффициент скорости исходящей передачи (STOR)
для класса
с помощью аргумента скорость
(в байтах в секунду). Синтаксический анализ аргумента скорость
выполняется в соответствии с rateget.
template
класс
[ссылочный_класс]
Определить ссылочный_класс
в качестве шаблона для класса.
Все последующие ссылки на ссылочный_класс
в директивах также будут применены к членам класса класс.
Можно определить шаблон класса,
что упростит определение других классов с общими атрибутами
без необходимости дублирования операций. Можно определить
только один шаблон. Если аргумент ссылочный_класс
не задан, отключите шаблон для класса.
timeout
класс
время
Установить
таймаут неактивности (значение по умолчанию – 15 минут). Этот
период не может составлять меньше 30 секунд или превышать
значение maxtimeout.
Эта строка игнорируется, если аргумент класс
принимает значение none или аргумент время
не задан.
umask
класс
значение_umask
Установить
для umask
значение значение_umask.
Эта строка игнорируется, если аргумент класс
принимает значение none или аргумент значение_umask
не задан.
upload
класс
[off]
Если
аргумент класс
принимает значение none или указано значение
off,
необходимо отключить командыAPPE, STOR,
STOU
и изменить команды CHMOD, DELE,
MKD,
RMD,
RNFR,
UMASK.
В противном случае эти команды следует включить.
Настройки по умолчанию
Используются
следующие значения по умолчанию:
checkportcmd all
classtype chroot
CHROOT
classtype guest
GUEST
classtype real
REAL
display none
limit all -1 #
unlimited connections
maxtimeout all
7200 # 2 hours
modify all
motd all motd
notify none
passive all
timeout all 900
# 15 minutes
umask all 027
upload all
modify guest off
umask guest 0707