Документация FirebirdУтилиты FirebirdУтилита GSEC → Пакетный режим
Firebird home Firebird home Пред.: Интерактивный режимНачало: Документация FirebirdУровень выше: Утилита GSECСлед.: Удаленный запуск GSEC

Пакетный режим

Просмотр информации о пользователях
Добавление новых пользователей
Удаление существующих пользователей
Изменение информации об уже введенных пользователях
Вывод информации о версии

Замечание

В нижеследующем описании команд пакетного режима подразумевается, что переменные окружения ISC_USER и ISC_PASSWORD определены и имеют правильные значения. Это позволяет запускать GSEC без необходимости всегда указывать в командной строке опции -user и -password. В свою очередь это уменьшает длину командной строки, позволяя после преобразования данного XML-файла в pdf уместить их на ширине страницы формата A4.

Не храните правильные значения в этих переменных постоянно, поскольку это небезопасно!

Внимание

Вам может показаться, что вы можете оценить результат выполнения утилиты по значению переменной окружения %ERRORLEVEL% в ОС Windows или $? в различных вариантах Unix. Это не так. Возвращаемый результат выполнения всегда равен нулю до СУБД Firebird 2.0. Начиная с СУБД Firebird 2.0 GSEC может возвращать ненулевой код выполнения, сигнализирующий о неудачном выполнении.

Для запуска GSEC в пакетном режиме используйте следующую командную строку:

     gsec [ <опции> ... ] <команда> [ <параметр> ... ]

Просмотр информации о пользователях

Ниже представлена команда вывода информации о пользователях и результат ее выполнения:

C:\>gsec -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0      Norman  Dunbar
EPOCMAN                             0     0      Benoit Gilles Mascia

Для вывода информации о конкретном пользователе используйте команду display, указав имя пользователя в качестве параметра.

C:\>gsec -display epocman
     user name                      uid   gid     full name
------------------------------------------------------------------------
EPOCMAN                             0     0      Benoit Gilles Mascia

Добавление новых пользователей

При добавлении пользователя в пакетном режиме в подтверждение успешности операции ничего не сообщается. После этого нужно использовать команду display или display <имя> для того, чтобы убедиться, что пользователь добавлен успешно.

C:\>gsec -add newuser -pw newuser -fname New -lname User
C:\>gsec -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0      Norman  Dunbar
NEWUSER                             0     0      New  User
EPOCMAN                             0     0      Benoit Gilles Mascia

Удаление существующих пользователей

При удалении пользователя в пакетном режиме в подтверждение успешности операции ничего не сообщается. После этого нужно использовать команду display или display <имя> для того, чтобы убедиться, что пользователь удален успешно.

C:\>gsec -delete newuser
C:\>gsec -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0      Norman  Dunbar
EPOCMAN                             0     0      Benoit Gilles Mascia

Изменение информации об уже введенных пользователях

Для уже существующего пользователя в базе данных безопасности можно изменить пароль и его настоящие имя, отчество и фамилию.

C:\>gsec -modify norman -pw newpassword
C:\>gsec -modify norman -mname MiddleName -fname Fred
C:\>gsec -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0      Fred MiddleName Dunbar
EPOCMAN                             0     0      Benoit Gilles Mascia

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

C:\>gsec -modify norman -mname -fname -lname
C:\>gsec -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0
EPOCMAN                             0     0      Benoit Gilles Mascia

Теперь пользователя NORMAN никто не узнает :o)

Вывод информации о версии

Версию утилиты GSEC можно узнать используя команду -z . Учтите, что эта команда после выполнения переводит вас в интерактивный режим и не возвращает из него. Она не завершается так, как это делают остальные команды пакетного режима. Для выхода из интерактивного режима используйте команду quit. Но обходной путь существует, и он показан ниже. Сначала посмотрим на проблему - вот она:

C:\>gsec -z
gsec version  WI-V1.5.0.4306 Firebird 1.5
GSEC> 

Решение проблемы в создании маленького файла, содержащего команду quit и указании GSEC читать этот файл, когда ему потребуется ввод пользователя:

C:\>copy con fred
quit
^Z
        1 file(s) copied.
C:\>gsec -z < fred
gsec version  WI-V1.5.0.4306 Firebird 1.5
GSEC>
C:\>

Такое решение можно использовать для любых команд, которые переходят в интерактивный режим в то время, когда вы думаете, что они выполняются в пакетном. По перенаправлению ввода на командный файл, GSEC считает строку текста из него в тот момент, когда ему понадобится ввод пользователя с клавиатуры. А заставляя его читать команду quit, вы завершите работу в интерактивном режиме.

Замечание

Команда -z не нуждается в опциях -user и -password. Если вы их не укажете, то в этом случае она отображает информацию о версии, а потом известит вас, что не указан пользователь и пароль. Это сообщение вы можете не принимать во внимание.

Пред.: Интерактивный режимНачало: Документация FirebirdУровень выше: Утилита GSECСлед.: Удаленный запуск GSEC
Документация FirebirdУтилиты FirebirdУтилита GSEC → Пакетный режим