Утилита 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]
Завершает интерактивную сессию.