Конфигурационные файлы

Общий формат конфигурационных файлов

Настройка большинства компонентов программного комплекса Dr.Web для почтовых серверов UNIX производится с помощью конфигурационных файлов. Конфигурационные файлы являются текстовыми файлами, что позволяет редактировать их любым текстовым редактором).

Общий формат файла конфигурации:

--- начало файла ---
 
[Имя секции 1]
Параметр1 = значение1, ..., значениеK
...
ПараметрN = значение1, ..., значениеK
 
[Имя секции X]
Параметр1 = значение1, ..., значениеK
...
 
--- конец файла ---

Файлы конфигурации формируются по следующему принципу:

Символы ";" или "#" в строках конфигурационного файла обозначают начало комментария – весь текст, идущий в строке за этими символами, пропускается модулями Dr.Web для почтовых серверов UNIX при чтении параметров из конфигурационного файла.

Содержимое файла разбивается на последовательность именованных секций. Возможные имена секций жестко заданы и не могут быть произвольными. Имя секции задается в квадратных скобках.

Каждая секция содержит группу параметров конфигурации, объединенных по смыслу.

В одной строке файла задается значение только одного параметра.

Основной формат задания значения параметра (пробелы, окружающие символ '=', если встречаются, игнорируются):

<Имя параметра> = <Значение>

Возможные имена параметров жестко заданы и не могут быть произвольными.

Все имена секций и параметров в файле регистронезависимы.

Порядок следования секций в файле и параметров внутри секций не имеет значения.

Значения параметров в конфигурационном файле могут быть заключены в кавычки (и должны быть заключены в кавычки в том случае, если содержат пробелы).

Некоторые параметры могут иметь несколько значений, в этом случае значения параметра разделяются запятой, или значение параметра задается несколько раз в разных строках конфигурационного файла. При перечислении значений параметра через запятую пробелы между значением и запятой, если встречаются, игнорируются. Если пробел является частью значения, всё значение необходимо заключить в кавычки.

Внимание!

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

Пример задания параметра, имеющего несколько значений:

1) Перечисление нескольких значений через запятую:

Parameter = Value1, Value2,"Value 3"

2) Задание тех же значений параметра в разных строках конфигурационного файла:

Parameter = Value2
Parameter = Value1
Parameter = "Value 3"

Внимание!

Если какой-либо параметр не задан (отсутствует) в конфигурационном файле, это не означает, что у данного параметра нет значения. В таких случаях значение параметра считается заданным по умолчанию. Лишь некоторые параметры являются необязательными или не имеют значений по умолчанию, о чем, как правило, упоминается отдельно.

Правила описания параметров, принятые в данном документе

В данном руководстве каждый параметр описывается следующим образом:

[Статус использования в Правилах]

ИмяПараметра = {Тип параметра | Возможные значения}

Описание параметра.

{Может ли иметь несколько значений}.

{Особые замечания}

{Важные замечания}

Значение по умолчанию:

ИмяПараметра = {значение | отсутствует}

Статус использования в Правилах обозначается с использованием следующих пиктограмм:

in_rule

Параметр может быть использован в SETTINGS-части Правил обработки писем для временного изменения его значения при обработке конкретного письма, для которого условная часть правила истинна.

in_rule_aggr

Параметр при использовании в Правилах обработки писем имеет "аддитивную" (накапливающую) семантику, т.е. если для письма истинно несколько Правил, задающих разное значение этого параметра, то в качестве значения параметра выступает объединенный список его значений из сработавших Правил.

in_rule_clon

Параметр при использовании в Правилах обработки писем поддерживает клонирование писем, т.е. если у письма несколько получателей, и для разных получателей письма истинны разные Правила, задающие различные значения этого параметра, то письмо будет клонировано (по числу получателей), и к каждой копии письма в качестве значения параметра будет использовано значение из Правила, истинного для этого письма.

 

 

Если Статус использования в Правилах для параметра не указан, то данный параметр не может быть использован в Правилах обработки писем.

Описание параметров и секций конфигурационных файлов дано в порядке их следования в файле конфигурации, создаваемом при установке программного комплекса Dr.Web для почтовых серверов UNIX.

Поле Тип параметра может принимать следующие значения:

числовое значение (numerical value) значение параметра является целым неотрицательным числом.

время (time) значение параметра задается в единицах измерения времени. Значение состоит из целого числа, после которого может идти буква, определяющая вид единиц измерения времени (s – секунды, m – минуты, h – часы, регистр букв не учитывается). Если в значении параметра буквы нет, то считается, что время задано в секундах.

  Примеры: 30s, 15m

размер (size) значение параметра задается в единицах измерения объема памяти (дисковой или оперативной). Значение состоит из целого числа, после которого может идти буква, определяющая вид единиц измерения объема памяти (b – байты, k – килобайты, m – мегабайты, g – гигабайты, регистр букв не учитывается). Если в значении параметра буквы нет, то считается, что размер задан в байтах.

  Примеры: 20b, 15k

права (permissons) значение параметра задаётся трехзначным числом, обозначающим права доступа к файлам в формате, принятом в UNIX-системах.
Каждое право является комбинацией (суммой) трех базовых прав:

oПраво чтения (r) обозначается числом 4;

oПраво записи (w) обозначается числом 2;

oПраво исполнения (x) обозначается числом 1.

При этом первая цифра числа задает права для владельца файла, вторая – для группы владельцев файла, а третья – для всех остальных, не являющихся ни владельцами, ни членами соответствующей группы.

  Примеры: 755, 644

логический (Yes/No) Логический тип, значения которого представляются строками "Yes" и "No".

путь к файлу/каталогу (path to file/directory) строка, задающая расположение файла или каталога в файловой системе. Помните, что в ОС семейства Linux/UNIX имена файлов и каталогов регистрозависимы. Если указано, что значением параметра может быть маска, то в качестве значений параметра можно использовать файловые маски, содержащие следующие специальные символы:

o? – замещает любой один символ;

o* – замещает любую (в том числе пустую) последовательность символов.

Пример:  "?.e*" – маска, под которую подпадают файлы, имя которых состоит из любого одного символа, а расширение любой длины, и начинается с буквы 'e' (x.exe, g.e, f.enable и т.п.).

действие (action) строка, содержащая наименование действий, совершаемых над объектами, вызвавшими какую-либо реакцию компонентов программного комплекса Dr.Web для почтовых серверов UNIX. В некоторых случаях для параметра можно задать одно основное действие и до трех дополнительных. Тип параметра в этом случае называется список действий (actions list). Основное действие в этом случае всегда должно быть первым в списке. Для разных параметров набор допустимых действий может различаться, и в этом случае он указывается отдельно для каждого параметра. Общий перечень действий, которые могут использоваться, см. ниже.

адрес (address) строка, содержащая адрес сокета компонента Dr.Web для почтовых серверов UNIX или внешнего модуля или программы.
Имеет формат ТИП:АДРЕС. Допустимы следующие типы:

oinet используются TCP-сокеты, АДРЕС имеет формат ПОРТ@ИМЯ_УЗЛА. ИМЯ_УЗЛА может быть как прямым IP-адресом, так и доменным именем узла.

Пример:

Address = inet:3003@localhost

olocal используются локальные UNIX-сокеты, в этом случае адрес является путем к файлу сокета.

Пример:

Address = local:%var_dir/.daemon

opid реальный адрес процесса должен быть прочитан из его PID файла. Такой тип адреса доступен лишь в некоторых случаях и при возможности его использования в описании параметра это указывается явно.

текст (text value), строка (string) значение параметра задается в виде текстовой строки, текст в строке может быть заключен в кавычки (если в строке есть пробелы, то кавычки обязательны).

настройки пула (pool options) — настройки пула потоков. Имеют специальный формат, описанный в разделе Специальные типы параметров.

Lookup  строки, задающие разделенные запятыми объекты для поиска.

LookupLite  упрощенный Lookup, в котором можно указывать только либо непосредственное значение, либо Lookup типа file.

хранилище (Storage)  объекты для хранения данных. Синтаксис аналогичен Lookup, за исключением использования другого списка префиксов и того, что в Storage нельзя использовать макрос $s.
Подробнее о типах Lookup, LookupLite и Storage см. в разделе Lookup.

настройки TLS/SSL (TLSSettings)  настройки для работы шифрованного соединения с использованием криптографических протоколов TLS и SSL. Имеют специальный формат, описанный в разделе Специальные типы параметров.

список строк (strings list) набор текстовых значений, разделенных запятыми.

Если значение параметра соответствует шаблону file:/path_to_file (где path_to_file – путь к файлу), то текстовые значения получаются из указанного в параметре файла. Каждое значение в файле должно записываться в отдельной строке. Если при получении информации из файла произошла ошибка, в файл журнала выводится соответствующее диагностическое сообщение и загрузка программы продолжится.

уровень подробности (log level) строка, указывающая уровень подробности вывода информации в некоторый журнал или в службу syslog.

возможные значения (value) параметр имеет тип, не описанный в предыдущих пунктах данного списка. В этом случае перечисляется список разрешенных для него значений.

Поведение модулей при некорректно заданных файлах конфигурации

Если значение какого-либо параметра задано некорректно, Dr.Web для почтовых серверов UNIX выводит сообщение об ошибке и завершает свою работу.

Если при загрузке какого-либо конфигурационного файла в нем обнаруживаются неизвестные параметры, работа программы продолжается в нормальном режиме, но в файл журнала выводится соответствующее предупреждение.

Внимание!

Некоторые параметры могут использовать в качестве значений регулярные выражения (для каждого параметра отмечается в его описании). По умолчанию используется синтаксис регулярных выражений Perl. С основами регулярных выражений вы можете ознакомиться, например, в Wikipedia (статья "Регулярные выражения").