用于用户和权限的 Firebird DDL
Firebird DDL for user and privileges
我有 Firebird 2.5,我需要提取所有用户和权限作为 DDL 以导出到另一个 Firebird 数据库。
例如,我需要获取用户 max
的脚本
"Create user max FIRSTNAME 'Max' LASTNAME 'Power' Grant admin option";
我用的是IB Expert,但是没有找到这个提取DDL的选项。
工具 -> Grants/Rights 管理器 -> 工具栏 -> 保存 -> 到脚本执行程序
或者,转到“工具”->“提取元数据”->“设置”,然后在下方选中“提取资助”复选框。
您还必须记住,用户本身不存在于数据库中(只有授权存在),用户存在于服务器中,而不是数据库中。
见how to display and set user rights in firebird database
另请参阅 GSEC 文档:
- http://www.destructor.de/firebird/gsec.htm
- https://www.firebirdsql.org/file/documentation/html/en/firebirddocs/gsec/firebird-gsec.html#gsec-batch
gsec -user sysdba -password <password> -database <databasename> -display
- 这样的命令应该显示在用于连接数据库的服务器上注册的所有用户。获取用户列表并将 create user
命令添加到每个用户列表将是微不足道的。
还有一个小众案例,Firebird 可能没有任何用户,从主机操作系统借用它们。它被称为“可信身份验证”模式。如果 GSEC 不显示用户或显示用户太少 - 检查相关 firebird.conf
中的身份验证设置,也许您必须转储来自 Windows 的用户列表,而不是来自 Firebird。
我有 Firebird 2.5,我需要提取所有用户和权限作为 DDL 以导出到另一个 Firebird 数据库。
例如,我需要获取用户 max
的脚本"Create user max FIRSTNAME 'Max' LASTNAME 'Power' Grant admin option";
我用的是IB Expert,但是没有找到这个提取DDL的选项。
工具 -> Grants/Rights 管理器 -> 工具栏 -> 保存 -> 到脚本执行程序
或者,转到“工具”->“提取元数据”->“设置”,然后在下方选中“提取资助”复选框。
您还必须记住,用户本身不存在于数据库中(只有授权存在),用户存在于服务器中,而不是数据库中。
见how to display and set user rights in firebird database
另请参阅 GSEC 文档:
- http://www.destructor.de/firebird/gsec.htm
- https://www.firebirdsql.org/file/documentation/html/en/firebirddocs/gsec/firebird-gsec.html#gsec-batch
gsec -user sysdba -password <password> -database <databasename> -display
- 这样的命令应该显示在用于连接数据库的服务器上注册的所有用户。获取用户列表并将 create user
命令添加到每个用户列表将是微不足道的。
还有一个小众案例,Firebird 可能没有任何用户,从主机操作系统借用它们。它被称为“可信身份验证”模式。如果 GSEC 不显示用户或显示用户太少 - 检查相关 firebird.conf
中的身份验证设置,也许您必须转储来自 Windows 的用户列表,而不是来自 Firebird。