Вход/Регистрация
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
вернуться

Борри Хелен

Шрифт:

Слабое место 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) вместе с соответствующими переключателями и аргументами.

* display без имени пользователя отображает список всех пользователей. Пароли не показываются. Эта команда также может получать имя пользователя. В этом случае отображаются подробности этого пользователя.

* help или его алиас ? отображает текст помощи для утилиты.

  • Читать дальше
  • 1
  • ...
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • ...

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

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: