オンラインドキュメント
https://firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref40/firebird-40-language-reference.html
インストール
https://firebirdsql.org/en/server-packages/ からインストーラファイルをダウンロードして実行する。
使い方
sysdbaのパスワード変更
| > gsec -user sysdba -password masterkey -modify sysdba -pw 新しいパスワード | |
 
 
システム管理者ユーザの作成
| > gsec -user sysdba -password sysdbaのパスワード -add ユーザ名 -pw パスワード -admin yes | |
 
 
ユーザの作成
| > gsec -user システム管理者ユーザ名 -password システム管理者ユーザのパスワード -add ユーザ名 -pw パスワード | |
 
 
ユーザの一覧
| > gsec -user システム管理者ユーザ名 -password システム管理者ユーザのパスワード -display | |
 
 
権限の設定
システム管理権限を持つ eagle-eight、テーブル、ビュー、シーケンス、トリガー、プロシージャ作成を行える manager1、テーブルの読み書き、シーケンスの使用、プロシージャの実行を行える editor1 の作成を例に説明する。
まずgsecコマンドで各ユーザを作成する。
| gsec -user sysdba -password masterkey -add eagle-eight -pw masterkey -admin yes | | gsec -user eagle-eight -password masterkey -add manager1 -pw masterkey | 
| gsec -user eagle-eight -password masterkey -add editor1 -pw masterkey | 
|
 
 
eagle-eightがデータベースファイルを作成する 000.sql を作成する。コマンドプロンプトで isql -q -i 000.sql -e -m を実行する。
| create database 'database1.fdb' user 'eagle-eight' password 'masterkey' default character set utf8; | |
 
 
eagle-eightがmanager1にテーブル、ビュー、シーケンス、トリガー、プロシージャ作成の権限を付与する 001.sql を作成する。コマンドプロンプトで isql -q -i 001.sql -e -m を実行する。
| set names utf8; | | connect 'database1.fdb' user 'eagle-eight' password 'masterkey'; | 
|   | 
| grant all table to manager1; | 
| grant all view to manager1; | 
| grant all sequence to manager1; | 
| grant all procedure to manager1; | 
|
 
 
manager1がeditor1にテーブル media_server_mst、movie_mst の読み書き、シーケンス seq_media_server_mst_id、seq_movie_mst_id の使用、プロシージャ do_insert_movie_mst の実行の権限を付与する 003.sql を作成する。コマンドプロンプトで isql -q -i 003.sql -e -m を実行する。
| set names utf8; | | connect 'database1.fdb' user 'manager1' password 'masterkey'; | 
|   | 
| grant all on media_server_mst to editor1; | 
| grant all on movie_mst to editor1; | 
| grant usage on sequence seq_media_server_mst_id to editor1; | 
| grant usage on sequence seq_movie_mst_id to editor1; | 
| grant execute on procedure do_insert_movie_mst to editor1; | 
|
 
 
システム管理権限を持たないユーザ名を一覧するSQL
| select sec$user_name from sec$users where sec$admin = false | |
 
 
ユーザ定義のテーブル名を一覧するSQL
| select rdb$relation_name from rdb$relations where (rdb$system_flag is null or rdb$system_flag = 0) and rdb$view_blr is null | |
 
 
ユーザ定義のビュー名を一覧するSQL
| select rdb$relation_name from rdb$relations where (rdb$system_flag is null or rdb$system_flag = 0) and rdb$view_blr is not null | |
 
 
ユーザ定義のシーケンス名を一覧するSQL
| select rdb$generator_name from rdb$generators where rdb$system_flag = 0 | |
 
 
ユーザ定義のプロシージャ名を一覧するSQL
| select rdb$procedure_name from rdb$procedures where rdb$system_flag = 0 | |
 
 
ホットバックアップ
| > gbak -b -user eagle-eight -password masterkey "database1.fdb" "database1_backup_20220417.fbk" | |
 
 
リストア
| > gbak -r -user eagle-eight -password masterkey "database1_backup_20220417.fbk" "database1.fdb" | |