Прямое использование gsec
Следующая процедура будет работать под Windows и Linux. В Linux, чтобы запустить gsec, вы должны войти в операционную систему как суперпользователь (root). Пусть вы решили изменить у SYSDBA пароль с masterkey на icuryy4me (в Firebird 1.5 для Linux инсталлированный пароль не masterkey, он может оказаться совсем невразумительным!). Вам нужно выполнить следующие шаги:
1. Перейдите в окно командной строки на вашем сервере и сделайте текущим каталог, в котором находятся ваши утилиты командной строки. Обратитесь к табл. 1.2-1.5, чтобы определить их положение.
2. Для Windows наберите следующее, рассматривая символы, как чувствительные к регистру:
gsec -user sysdba -password masterkey
Для платформ POSIX наберите:
./gsec -user sysdba -password masterkey
Теперь вы должны увидеть подсказку утилиты gsec:
GSEC>
3. Наберите команду:
GSEC> modify sysdba -pw icuryy4me
4. Нажмите клавишу <Enter>. Новый пароль icuryy4me будет зашифрован и сохранен, a masterkey не будет больше действовать.
5. Теперь завершите программу gsec:
GSEC> quit
Поскольку Firebird игнорирует все символы в пароле после восьмого, icuryy4m будет работать так же, как и icuryy4monkey.
! ! !
СОВЕТ. Полные инструкции по использованию gsec находятся в главе 34.
. ! .
Пользователи и группы в Linux/UNIX
Начиная с Firebird 1.5, пользователь root больше не является пользователем по умолчанию, который может запускать сервер. Это означает, что вам нужно поместить пользователей, не являющихся root, в группу firebird, чтобы предоставить им возможность доступа к базам данных.
Чтобы добавить пользователя (например, sparky) в группу firebird, пользователю root нужно ввести:
$ usermod -G firebird sparky
Теперь sparky может соединиться с базой данных Firebird и начать работу с ней.
Для отображения списка групп, в которых присутствует пользователь, наберите в командной строке:
$ groups
! ! !
СОВЕТ. Пользователю группы firebird могут также понадобиться привилегии чтения и записи ко всем базам данных и привилегии чтения, записи и выполнения ко всем каталогам, где размещаются базы данных.
. ! .
Инструмент администратора
Инсталляционный комплект Firebird не содержит инструментов администратора с графическим интерфейсом. У него есть набор инструментов командной строки (исполняемые программы), которые расположены в каталоге /bin каталога инсталляции Firebird. Их использование подробно описано в части IX.
Отличные инструменты графического интерфейса, доступные для использования на клиентских машинах Windows, слишком многочисленны, чтобы их здесь описать. Небольшое количество графических инструментов написано на Borland Kylix для использования на клиентских машинах под Linux, они находятся на разных стадиях завершения.
Список наиболее известных инструментов администратора для Firebird представлен в приложении 5. Для получения самого последнего списка зайдите на http://www.ibphoenix.com, выберите ссылку Contributed из области загрузки и нажмите на ссылку Administration Tools.
! ! !
СОВЕТ. Вы можете использовать клиентские инструменты администратора в Windows для доступа к серверу Linux и наоборот.
. ! .
Размещение на диске по умолчанию
Таблицы в этом разделе описывают размещение компонентов для Windows и Linux на диске по умолчанию. Информация дается в контексте двух версий:
* версии, предшествующие Firebird 1.5;
* версии Firebird 1.5 и последующие.
Разница является существенной. Версии, предшествующие Firebird 1.5, используют размещение, имена компонентов и ссылки на ресурсы, как и InterBase 6.x и более ранние версии InterBase. Следовательно, не существует возможности запускать и сервер Firebird, и сервер InterBase этих версий на одной и той же машине.
В пересмотре основного кода, который начался с версии 1.5, старые ссылки на постороннюю информацию InterBase были удалены, а многие из главных компонентов были переименованы. Firebird 1.5 дает возможность запускать также и сервер InterBase. Это верно и для Firebird 2.
Табл. 1.2-1.5 показывают, где искать компоненты при стандартной инсталляции после выполнения инсталлятора. Точное расположение может изменяться от релиза к релизу.
Таблица 1.2. Инсталляция Firebird 1.5 для Linux и некоторых платформ UNIX
Компонент | Имя файла | Размещение по умолчанию |
Классический сервер | fb_inet_server | /opt/firebird/bin |
Программа Lock Manager (только Классический сервер) | fb_lock_mgr | /opt/firebird/bin |
Встроенный клиент для Классического сервера | libfbembed.so. 1.5.0 | /opt/lib |
Firebird Guardian (только Суперсервер) | fbguard | /opt/firebird/bin |
Суперсервер | fbserver.exe | /opt/firebird/bin |
Поточный клиент для Суперсервера и Классического сервера | libfbclient.so | /usr/lib |
Файл конфигурации | firebird.conf | /opt/firebird |
Файл алиасов базы данных | aliases.conf | /opt/firebird |
Файл сообщений | firebird.msg | /opt/firebird |
Файл сгенерированного пароля | SYSDBA.password | /opt/firebird |
База данных безопасности | security.fdb | /opt/firebird |
Копия базы данных безопасности | security.fbk | /opt/firebird |
Инструменты командной строки | isql, gbak, gfix, gstat, gsec, gdef, gpre, qli | /opt/firebird/bin |
Инструмент сервера (только Суперсервер) | fbmgr | /opt/firebird/bin |
Скрипты командной строки | Различные; обратитесь к файлам README и заметкам по релизу | /opt/firebird/bin |
Скрипт шаблона для Firebird (только Классический сервер) | firebird.xinetd | /opt/firebird/misc |
Библиотеки внешних функций (библиотеки UDF) | ib_udf.so, fbudf.so | /opt/firebird/UDF |
Библиотека утилиты памяти (используется в ib_udf) | libib util.so | /opt/firebird/lib |
Скрипты DDL для библиотек внешних функций | ib_udf.sql, fbudf.sql | /opt/firebird/UDF |
Библиотека поддержки интернациональных языков | fbintl | /opt/fire b ird/i nt! |
Заметки по релизу | Firebird_v15.nnn_ ReleaseNotes.pdf | /opt/firebird |
Другая документация | Файлы README no различным темам | /opt/firebird/doc |
Пример базы данных | employee.fdb | /opt/firebird/sample |
Заголовочные файлы С | ibase.h, iberror.h и др. | opt/firebird/include |
Таблица 1.3. Инсталляция Firebird 1.5 для 32-битовых платформ Windows
Компонент | Имя файла | Размещение по умолчанию |
Классический сервер | fb_inet_server.exe | C:\Program Fiies\Firebird\ Firebird_1_5\bin |
Программа Lock Manager (только Классический сервер) | fb_lock_mgr.exe | C:\Program Files\Firebird\ Firebird_1_5\bin |
Firebird Guardian (только Суперсервер) | fbguard.exe | C:\Program Files\Firebird\ Firebird_1_5\bin |
Суперсервер | fbserver.exe | C:\Program Files\Firebird\ Firebird_1_5\bin |
Встроенный Суперсервер | fbembed.dll | C:\Program Files\Firebird\ Firebird_1_5\bin (инсталлировать в каталог приложения и переименовать в fbciient.dll) |
Клиентская библиотека для Суперсервера и Классического сервера | gds32,dll (заглушка) и fbclient.dll | C:\Program Files\Firebird\Firebird_1_5\bin |
Файл конфигурации | firebird.conf | - // - |
Файл алиасов базы данных | aliases.conf | - // - |
Файл сообщений | firebird.msg | - // - |
База данных безопасности | security.fdb | - // - |
Копия базы данных безопасности | security.fbk | - // - |
Инструменты командной строки | isql, gbak, gfix, gstat, gsec, gdef, gpre, qli, fb_lock_print | - // - |
Сервисы и регистрационные инструменты | instsvc.exe, instreg,exe | - // - |
Библиотеки внешних функций (библиотеки UDF) | ib_udf,dll, fbudf,dll | C:\Program Files\Firebird\Firebird_1_5\UDF |
Библиотека утилиты памяти (используется в ib_udf,dll) | ib_util.dll | C:\Program Files\Firebird\Firebird_1_5\bin |
Скрипты DDL для библиотек внешних функций | ib_udf,sql, fbudf,sql | C:\Program Files\Firebird\Firebird_1_5\UDF |
Библиотека поддержки интернациональных языков | fbintl,dll | C:\Program Files\Firebird\Firebird_1_5\intl |
Заметки по релизу | Firebird_v15.nnn_ ReleaseNotes.pdf | C:\Program Files\Firebird\Firebird_1_5 |
Другая документация | Файлы README по различным темам | C:\Program Files\Firebird\Firebird_1_5\doc |
Пример базы данных | employee.fdb | C:\Program Files\Firebird\Firebird_1_5\sample |
Заголовочные файлы С | ibase.h, iberror.h и др. | C:\Program Files\Firebird\Firebird_1_5\include |
Таблица 1.4. Инсталляция Firebird 1.0.3 для Linux и некоторых платформ UNIX
Компонент | Имя файла | Размещение по умолчанию |
Классический сервер | gds_inet_server | /opt/interbase/bin |
Программа Lock Manager (только Классический сервер) | ib_lock_mgr | - // - |
Встроенный клиент для Классического сервера | gdslib.so | /usr/lib |
Суперсервер | ibserver.exe | /opt/interbase/bin |
Поточный клиент для Суперсервера и Классического сервера | gdslib.so | /usr/lib |
Файл конфигурации | isc_config | /opt/interbase |
Файл сообщений | interbase.msg | - // - |
База данных безопасности | isc4.gdb | - // - |
Копия базы данных безопасности | isc4.gbk | - // - |
Инструменты командной строки | isql, gbak, gfix, gstat, gsec, gdef, gpre, qli | /opt/interbase/bin |
Инструмент сервера (только Суперсервер) | fbmgr | - // - |
Скрипты командной строки | Различные; обратитесь к файлам README и замечаниям по релизу | /opt/interbase/bin или /opt/interbase/sample |
Скрипт шаблона для Firebird (только Классический сервер) | firebird.xinetd | - // - |
Библиотеки внешних функций (библиотеки UDF) | ib_udf,so, fbudf,so | /opt/interbase/udf |
Библиотека утилиты памяти (используется в ib_udf) ~TSROr | libib_util,so | /opt/interbase/udf ~TSR/ort/interbase |
Скрипты DDL для библиотек внешних функций | ib_udf.sql | /opt/interbase/udf |
Библиотека поддержки интернациональных языков | intl или intl.so | /opt/interbase/intl |
Пример базы данных | employee.fdb | /opt/interbase/sample |
Заголовочные файлы С | ibase.h, iberror.h и др. | /opt/interbase/include |
Таблица 1.5. Инсталляция Firebird 1.0.3 для 32-битовых платформ Windows
Компонент | Имя файла | Размещение по умолчанию |
Firebird Guardian | ibguard.exe | C:\Program Files\Firebird\bin |
Суперсервер | ibserver.exe | - // - |
Клиентская библиотека | gds32.dll | - // - |
С:\WINNT\systеm32 (платформа с сервисами) или C:\Windows (другие) | gds32.dll | CAWINNT\system32 (платформа с сервисами) или CAWindows (другие) |
Файл конфигурации | ibconfig | C:\Program Files\Firebird |
Файл сообщений | interbase.msg | C:\Program Files\Firebird |
База данных безопасности | isc4.gdb | C:\Program Files\Firebird |
Копия базы данных безопасности | isc4.gbk | C:\Program Files\Firebird |
Инструменты командной строки | isql, gbak, gfix, gstat, gsec, gdef, gpre. qli, iblockpr | C:\Program Files\Firebird\bin |
Сервисы и регистрационные инструменты | instsvc.exe, instreg.exe | C:\Program Files\Firebird\bin |
Библиотеки внешних функций (библиотеки UDF) | ib_udf.dll, fbudf.dll | C:\Program Files\Firebird\UDF |
Библиотека утилиты памяти (используется в ib_udf.dll) | ib_util.dll | C:\Program Files\Firebird\bin |
Скрипты DDL для библиотек внешних функций | ib_udf.sql, fbudf.sql | C:\Program Files\Firebird\UDF |
Библиотека поддержки интернациональных языков | gdsintl.dll | C:\Program Files\Firebird\intl |
Документация | Файлы README по различным темам | C:\Program Files\Firebird |
Пример базы данных | employee.gdb | C:\Program Files\Firebird\sample |
Заголовочные файлы С | ibase.h, iberror.h и др. | C:\Program Files\Firebird\include |
Пора дальше
Firebird состоит из программы сервера и клиентских приложений; между сервером и каждым клиентом располагается сетевой протокол. Если вы использовали соответствующий инсталлятор для вашей платформы и использовали значения по умолчанию, вероятно, вам больше ничего не потребуется делать, и можно сразу приступать к началу работы. Вы можете пропустить две следующие главы и перейти к "основам", описанным в главе 4. Если вас интересуют сетевые протоколы или вам кажется, что у вас есть проблемы, связанные с сетевыми протоколами, прочтите следующую главу, и, возможно, просмотрите некоторые советы по конфигурированию в главе 3.
ГЛАВА 2. Установка сети.
Поскольку реляционная система управления базами данных (РСУБД) специально создана для платформы клиент-сервер, Firebird позволяет удаленным и локальным клиентам одновременно соединяться с сервером, используя различные сетевые протоколы.
Инсталлятор создаст конфигурацию по умолчанию для соединения клиента с сервером и для получения соединений от клиентов с использованием установок порта по умолчанию. Если только не существует внешних причин создавать пользовательскую конфигурацию сети, то нет необходимости для запуска Firebird изменять конфигурацию, которая была установлена при инсталляции.
Сетевые протоколы
Firebird поддерживает протокол TCP/IP для всех комбинаций клиентских и серверных платформ.
Именованные каналы
Firebird поддерживает протокол Мiсrоsоft WNet Named Pipes для серверов Windows NT/2000, XP и клиентов Windows. Имя канала по умолчанию interbas. Windows 9х и ME не Moryт быть серверами WNet.
! ! !
ПРИМЕЧАНИЕ. Протокол Windows Named Pipes (именованные каналы) часто называют NetBEUI. Строго говоря, NetBEUI является транспортной частью, используемой в WNet.
. ! .
Локальный доступ
Хотя Firebird разработан, чтобы быть сервером базы данных для удаленных клиентов, он предоставляет множество средств локального доступа.
Firebird поддерживает протокол Microsoft WNet Named Pipes для серверов Windows NT/2000, XP и клиентов Windows. Имя канала по умолчанию interbas. Windows 9х и ME не могут быть серверами WNet.
Клиент-сервер
Средства локального доступа.
* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение может быть выполнено через специальный сервер localhost с IP-адресом 127.0.0.1.
! ! !
ВНИМАНИЕ! Соединение с localhost невозможно для приложений встраиваемого сервера.
. ! .
* Режим локального соединения Windows. Для клиентов Windows, использующих Суперсервер Firebird на той же самой физической машине, Firebird поддерживает режим локального соединения, используя межпроцессную передачу данных для моделирования сетевого соединения без интерфейса физической сети и сетевого протокола. Это полезно при доступе к базе данных в процессе разработки, для приложений встраиваемого сервера и для консольных инструментов клиента, но в этом варианте не поддерживается механизм событий Firebird и параллельная работа клиентской части из разных потоков приложения.
Средства локального соединения клиент-сервер являются ограниченными и не должны использоваться при поставках программ. Распространяйте автономные приложения клиент-сервер, Web-приложения и другие уровни серверов с использованием для соединения локально закольцованного протокола TCP/IP.
* Прямое локальное соединение в POSIX. Может ли локальный клиент соединяться с базой данных в Linux и в некоторых других системах POSIX, зависит, в первую очередь, от варианта сервера, который вы инсталлировали (Классический сервер или Суперсервер), и, во вторую очередь, от типа клиентского соединения.
Суперсервер совсем не принимает локальных соединений через обычный клиентский API. Путь для соединения всегда должен включать имя хоста TCP/IP. Тем не менее он принимает локальные соединения от "встроенных приложений" (приложений, написанных с использованием встроенного SQL - Embedded SQL, ESQL). Инструменты командной строки, gsec, gfix, gbak и gstat, которые являются встроенными приложениями, могут выполнять локальные соединения с Суперсервером.
Если у вас запущен Классический сервер, с локального клиента возможно прямое соединение.
Встраиваемый сервер
Начиная с Firebird 1.5, пакеты Firebird для Windows включают полную функциональность встраиваемого сервера (клиент и сервер соединяются как динамическая библиотека). Это идентично обычной модели клиент-сервер, за исключением того, что здесь не поддерживается сетевой протокол: соединение осуществляется в стиле "локальной Windows" для эмуляции сетевого соединения.
! ! !
ВНИМАНИЕ! Встраиваемый сервер не поддерживает пароль безопасности доступа Firebird.
. ! .