Утилита gsec

Утилита 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 FilesFirebirdFirebird_1_5security. 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 или его алиас ? отображает текст помощи для утилиты.

* quit завершает gsec и закрывает командную строку.

Таблица USERS и режимы gsec

В табл. 34.1 показаны столбцы таблицы USERS вместе с соответствующими переключателями gsec. Требуемыми полями при использовании gsec являются только

USER NAME и PASSWD.

Таблица 34.1. Столбцы таблицы USERS и режимы gsec

Столбец

Описание

Режим gsec

Аргумент

USER_NAME

Имя пользователя, распознаваемое идентификацией пользователя на сервере, gsec требует его в качестве параметра для интерактивных команд добавления, изменения и удаления и для соответствующих переключателей командной строки -a[dd], mo[dify] и-d[elete]

username параметр

SYS_USER_NAME

Не используется

GROUP_NAME

Не используется

UID

Для некоторых платформ POSIX идентификатор пользователя UNIX. Не требуется

-uid

integer

GID

Для некоторых платформ POSIX идентификатор группы UNIX. Не требуется

-gid

integer

PASSWD

Текущий пароль для этого пользователя. Требуется

-pw

string(10)

PRIVILEGE

Не используется

COMMENT

Не используется

FIRST_NAME

Имя пользователя. Не требуется

-fname

string(31)

MIDDLE_NAME

Второе имя пользователя. Не требуется

-mname

string(31)

LAST_NAME

Фамилия пользователя. Не требуется

-Iname

string(31)

FULL_NAME

Нет

Также при запуске gsec с удаленной рабочей станции:

Сервер и путь к файлу базы данных безопасности

-database

Путь и имя файла

Примеры gsec

display

Отображает основные столбцы таблицы USERS базы данных безопасности. Пароли никогда не показываются.

user_name uid gid full name SYSDBA

MICKEY 123 345 Mickey Mouse

D_DUCK 124 345 Donald Duck

JULIUS 125 345 J. Caesar

Для отображения той же информации из одной строки таблицы USERS введите:

GSEC> display username

Например:

GSEC> display julius user_name uid gid full name

JULIUS 125 345 J. Caesar

a[dd]

Добавляет пользователя в таблицу USERS:

a[dd] имя-пользователя -pw пароль [другие переключатели]

Здесь имя-пользователя- уникальное новое имя пользователя, а пароль- пароль, связанный с этим пользователем.

! ! !

ПРИМЕЧАНИЕ. Переключателем для нового пароля при добавлении пользователя или при изменении его пароля является -pw. Не путайте его с сокращенной формой переключателя пароля при соединении SYSDBA, который задается в виде -ра.

. ! .

Пример:

GSEO add mmouse -pw Veritas

Для добавления пользователя hpotter с именем Harry Potter и паролем noMuggle введите:

GSEC> add hpotter -fname Harry -lname Potter -pw noMuggle

Для проверки новой записи:

GSEC> display hpotter

user_name uid gid full name

HPOTTER Harry Potter

! ! !

ПРИМЕЧАНИЕ. Если вы попытаетесь ввести недопустимые символы в строке пароля, gsec просто завершит работу без выдачи сообщения.

. ! .

mo[dify]

Используется для изменения (редактирования) значения столбца в существующей записи USERS. Задайте имя пользователя, для которого требуются изменения, затем укажите один или более переключателей, определяющие изменяемые элементы, и новое значение для каждого из них.

Например, для задания идентификатора пользователя 25 для пользователя mickey, изменения имени (first name) на Michael и изменения пароля на icecream введите следующие переключатели:

GSEC> modify mickey -uid 25 -fname Michael -pw icecream

Вы не можете изменить имя пользователя. Удалите старого пользователя и добавьте нового.

de[lete]

Удаляет пользователя с указанным именем из таблицы USERS. Команда не получает никаких аргументов и переключателей.

de[lete] имя-пользователя Пример:

GSEO delete mickey

Вы можете использовать команду display, чтобы убедиться в удалении записи.

h[elp] или ?

Любой из этих переключателей позволяет отобразить общие сведения о командах gsec, переключателях и синтаксисе.

q[uit]

Завершает интерактивную сессию.