Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

Новые инсталляции Firebird для Windows устанавливают в базу данных безопасности пользователя SYSDBA с паролем masterkey. Очевидно, что это известно всем, и не может использоваться для безопасности. Пароль должен быть изменен в первую очередь.

Под Linux некоторые инсталляторы способны генерировать произвольный пароль для SYSDBA. Вы можете увидеть его в текстовом файле SYSDBA.password, размещенном в каталоге Firebird /bin.

Пользователь SYSDBA является владельцем базы данных безопасности. Помните, что базы данных Firebird имеют "одного пользователя SYSDBA для управления всеми". Пользователь SYSDBA имеет все деструктивные права ко всем базам данных на сервере. Пароль у SYSDBA не должен распространяться на обычных пользователей.

Слабое место POSIX

Firebird может допустить соединения клиентов с серверами на платформах POSIX, при которых обходится идентификация пользователя Firebird, а вместо этого используется схема разрешений для пользователя операционной системы. Это давно существующая возможность, наследованная от InterBase. Незнание данного факта оставляет большую дыру в безопасности на платформах POSIX, если путь доступа пользователя POSIX будет широко открыт, а системный администратор будет ошибочно предполагать, что база данных безопасности является максимально защищенной.

Это не так. Когда пользователи POSIX соединяются с базой данных без передачи серверу Firebird имени пользователя и пароля, подпрограмма идентификации подставляет текущие характеристики операционной системы вместо характеристик пользователя Firebird. Если пользователь операционной системы имеет привилегии root, опасайтесь, очень опасайтесь.

Поскольку пользователи POSIX могут получить доступ к базам данных Firebird через их учетные данные операционной системы, важно определить надежные взаимосвязи между сервером и каждой клиентской рабочей станцией. Это переводится в записи в /etc/host.equiv или в другие данные, такие как файл .rhost в домашнем каталоге пользователя на сервере.


! ! !

СОВЕТ. Читатель также может поэкспериментировать с файлом /etc/gds_host.equiv - см. текст "Installing InterBase to start automatically and run as a service under Linux" (Инсталляция InterBase для автоматического запуска и выполнения в качестве сервиса под Linux) у Richard Combs на http://community.borland.eom/article/0,1410,27761,00.html.

. ! .


Переменные окружения ISC_USER и ISC_PASSWORD должны быть исключены из системы.


! ! !

ВНИМАНИЕ! Автору не известны способы определения надежной взаимосвязи между рабочей станцией Windows и сервером UNIX, но это не означает, что такое не может быть сделано.

. ! .


Утилита gsec

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

Любой идентифицированный пользователь может запустить gsec, но только пользователь SYSDBA может изменять сведения о пользователе, хранящиеся в базе данных безопасности. Требуются имя пользователя и пароль, независимо от того, видимы ли из командной строки переменные окружения ISC_USER и ISC_PASSWORD. В POSIX, если вы подключились как root, вы можете вызывать gsec без ввода параметров -user и -password.

Запуск интерактивной сессии gsec

В командной строке в каталоге Firebird /bin введите следующее. Для POSIX:

./gsec -user sysdba -password masterkey

Для Windows:

gsec -user sysdba -password masterkey

Подсказка командной строки изменится на GSEO, указывающую, что вы запустили gsec в интерактивном режиме.

Для завершения интерактивной сессии введите QUIT.


Запуск gsec как удаленного клиента

SYSDBA может использовать gsec на клиентской машине для управления идентификацией пользователей на удаленном сервере. Синтаксис вызова в этом случае несколько отличается: он требует переключателя -database, за которым следует полный сетевой путь к базе данных безопасности. Например (это одна команда), здесь показывается, как клиент POSIX обращается к серверу Windows в версии 1.5:

./gsec -database hotchicken:с:\Program Files\Firebird\Firebird_1_5\security. fdb

-user sysdba -password masterkey

Следующий пример показывает обращение клиента Windows к серверу POSIX в версии 1.0.x:

gsec -database coolduck:/opt/firebird/isc4.gdb

-user sysdba -password masterkey


Интерактивные команды

Командами интерактивной утилиты gsec являются отображение, добавление, модификация, удаление, помощь и выход. Они не чувствительны к регистру.

* add, modify и delete используются для добавления и удаления пользователей и для изменения паролей. Они требуют в качестве параметра имя пользователя (username) вместе с соответствующими переключателями и аргументами.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT