Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
UDFAccess
Разделы на этой странице:
UDFAccess
Версия 1.5 и выше, файл firebird.conf.
Этот параметр используется для ограничения доступа к библиотекам внешних функций и модулям фильтров BLOB, рассматриваемых как потенциальная мишень для злонамеренных атак. Вы можете выбрать один из трех уровней доступа сервера ко всем этим модулям. До версии 1.5 возможность хранения внешних модулей в различных местах файловой системы рассматривалась как преимущество. Сейчас рекомендуется, чтобы их хранение ограничивалось одним деревом или, в особо незащищенных ситуациях, лучше вообще их запрещать.
UDFAccess Может быть None, Restrict или Full.
* None запрещает любое использование определенных пользователем внешних библиотек. Это значение по умолчанию инсталляции большинства дистрибутивов.
* Restrict (установка по умолчанию) ограничивает размещение вызываемых внешних библиотек указанными размещениями файловой системы. По умолчанию поиск начинается в каталоге /UDF в вашем корневом каталоге Firebird. Для задания размещения библиотек внешних функций или модулей фильтров BLOB В другом месте файловой системы предоставьте список из одного или более каталогов, разделенных точкой с запятой (;), в которых могут размещаться эти модули, например:
POSIX: /db/extern;/mnt/extern Windows: С:ExternalModules
Относительные пути трактуются как пути относительно корневого каталога инсталляции Firebird. Например, в Windows, если инсталляция Firebird была в каталоге C:Program FilesFirebirdFirebird_1_5, то следующее значение будет ограничивать доступ сервера к внешним файлам, только если они будут размещаться в C:Program FilesFirebirdFirebird_1_5userdata ExternalModules:
UDFAccess = Restrict userdataExternalModules
* Full позволяет осуществлять доступ к внешним библиотекам в любом месте системы. Если задан доступ Full, то требуется включить полный путь в предложение
MODULE_NAME оператора DECLARE EXTERNAL FUNCTION, который объявляет функцию в базе данных. Подробности см. в разд. "Внешние функции (UDF)" главы 21.
external_function_directory
Версия 1.0.x, файл isc_config/ibconfig.
Этот параметр может быть использован в версии 1.0.x для задания произвольного количества размещений для библиотек внешних функций, фильтров BLOB И/ИЛИ модулей наборов символов. Если этот параметр конфигурации не присутствует, Firebird проверяет подкаталоги .Audf или ..intl в каталоге, который сервер распознает как корневой каталог инсталляции Firebird.
Вот несколько примеров:
external_function_directory <путь к каталогу, заключенный в кавычки>
external_function_directory "/opt/firebird/my_functions"
external_function_directory "/opt/extlibs/lang"
external_function_directory "d:udfdir"
ExternalFileAccess
Версия 1.5 и выше, файл firebird.conf.
Этот параметр предоставляет три уровня безопасности в отношении доступа к внешним файлам из таблиц базы данных. Значением является строка, которая может быть
None, Full или Restrict.
* None (значение по умолчанию) отключает любое использование внешних файлов вашим сервером.
* Restrict предоставляет возможность ограничить размещение внешних файлов для доступа из базы данных конкретными путями. Предоставьте список из одного или более путей, разделенных точкой с запятой (;), в которых могут храниться внешние файлы, например:
Unix: /db/extern;/mnt/extern
Windows: C:ExternalTables
Относительные пути трактуются как пути относительно каталога, который распознается запущенным сервером как корневой каталог инсталляции Firebird.
Например, в Windows, если корнем, который запущенный сервер распознает как корневой каталог инсталляции Firebird, является C:Program FilesFirebird, то следующее значение будет ограничивать сервер по доступу к внешним файлам, только если они будут размещаться на C:Program FilesFirebirduserdataExternalTables:
ExternalFileAccess = Restrict userdataExternalTables
Следующая запись в POSIX позволит осуществлять доступ только к файлам, находящимся в или ниже каталогов /exportdata и /importdata:
ExternalFileAccess = Restrict /exportdata;/importdata
* Full позволят осуществлять доступ к внешним файлам, находящимся в любом месте системы[146].
Подробную информацию о внешних файлах см. в разд. "Использование внешних файлов в качестве таблиц" главы 16.
external_file_directory
Firebird 1.0.x, файл ibconfig.
Только в Windows используется для группирования внешних файлов в одной или нескольких ограниченных зонах. Нет ограничения на количество каталогов, которые могут быть представлены в списке поиска. Создавайте запись из одной строки для каждого каталога, как показано далее:
external_file_directory <путь к каталогу, заключенный в кавычки> external_file_directory "d: x-files"
Пора дальше
Последние главы описывают использование оставшихся инструментов командной строки, которые поставляются вместе с Firebird. Инструмент статистики gstat был описан ранее в главе 18, с инструментом управления доступом пользователя gsec вы познакомились в главе 35. Теперь рассмотрим интерактивную утилиту SQL isql.