2. Если переменная окружения FIREBIRD отсутствует, то для платформ Windows сервер отыскивает ключ в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server\Instances
и смотрит поле oefauitinstance. Если он находит в данном поле правильный путь к каталогу, то использует это значение. Другие платформы не имеют подобного указателя.
3. Если корневой каталог все еще не найден, то предполагается, что временный корневой каталог располагается на один уровень выше каталога запущенного процесса (,.\ для Windows и ../ или ссылка на /proc/self/exe для POSIX, если доступно).
4. Теперь процедура запуска ищет в этом каталоге файл firebird.config. Если файл firebird.config найден, то процедура отыскивает параметр RootDirectory. Если параметр присутствует, его значение становится окончательно корневым каталогом, иначе промежуточное значение из n.3 становится окончательным значением.
! ! !
ВНИМАНИЕ! Если файл firebird.config не был найден на уровне, предшествующем запускаемому процессу, это может означать, что корневой каталог не был определен по причине нестандартной инсталляции. Сервер должен найти корневой каталог файлов. Если вам встретилась ошибка безопасности или ошибка файловой системы в процессе соединения или во время выполнения, вы должны пересмотреть ваши пути инсталляции, чтобы убедиться, что все действия, описанные в данном разделе, правильно определили корневой каталог файлов и подкаталоги.
. ! .
Параметры, связанные с доступом к файлам
Firebird имеет несколько параметров для защиты его файлов и баз данных от разрушающего или неавторизованного доступа. Если вы перемещаете приложение работы с базой данных или используете инструмент администратора для Firebird 1.5, вам следует обратиться к разд. "Файл конфигурации Firebird" в главе 36 для получения детальной информации об указанных далее параметрах.
* RootDirectory - может быть использован для изменения абсолютного пути к корневому каталогу в локальной файловой системе. Он должен оставаться закомментированным, если только вы не захотите изменить процедуру запуска, перекрыв путь к корневому каталогу инсталляции сервера Firebird (см. n. 3 в предыдущем разделе).
* DatabaseAccess - в Firebird 1.0.x сервер может соединяться с любой базой данных в его локальной файловой системе и всегда доступен приложениям, передающим абсолютный путь к файлу в файловой системе. Этот параметр был введен в версии 1.5, чтобы обеспечить более четкое управление безопасностью при доступе к файлам базы данных, а также для поддержки средства алиасов баз данных.
Инсталляция по умолчанию устанавливает значение параметра в Full, чтобы имитировать поведение Firebird версии 1,0.x. Альтернативные режимы могут ограничить доступ сервера только к базам данных с алиасами или к базам данных, размещенных в указанных каталогах файловой системы.
! ! !
ВНИМАНИЕ! Настоятельно рекомендуется установить этот режим и сделать доступным средство алиасов баз данных. Информацию об алиасах базы данных см. в главе 4.
. ! .
* ExtemaiFiieAccess - заменяет параметр EXTERNAL_FILE_DIRECTORY, введенный в версии 1,0. Этот параметр обеспечивает три уровня безопасности для External Files (внешние файлы - текстовые файлы фиксированного формата, к которым возможен доступ, как и к таблицам базы данных). Если вы переносите базу данных, в которой определены внешние файлы таблиц, вам нужно установить этот параметр для версии 1.5, потому что он отключен по умолчанию. Конфигурация необязательная, тем не менее рекомендуется для версии 1.0.x.
* UDFAccess - предназначен для защиты местоположения кода внешних модулей. Он заменяет не только необязательный параметр версии 1.0.x externai_function_ directory, но также и форму представления значения. Firebird 1.5 инсталлируется с отключенным по умолчанию доступом к библиотекам внешних функций, в то время как большинство серверов до этого давали полный доступ.
* TempDirectories (TMP_DIRECTORY в версии 1.0.x)- конфигурирование этого параметра является одним из способов задания размещения временного пространства сортировки для сервера, указав местоположение на диске. Синтаксис Firebird 1.5 отличается от синтаксиса Firebird 1.0.x.
Другие полезные параметры
Следующие параметры могут быть полезными в некоторых аппаратных конфигурациях.
* cpuAffinityMask (CPU_AFFINITY в версии 1.0.x)- может быть использован для назначения процессоров, которые Суперсервер в Windows будет использовать на машинах SMP. Эта проблема известна как эффект "see-saw", когда операционная система постоянно переключает выполнение Суперсервера между процессорами на некоторых машинах SMP. Свойство CPU должно быть установлено для одного процессора, если вам встретилась такая проблема.
Читать дальше