我可以使用任何用户名和密码登录到Firebird 3数据库

Haik Hairapetyan

在新创建的数据库中,使用错误的用户名和密码登录时,我不会收到任何错误消息(用户TTT和AAA甚至不存在)

[root@fewww bin]# ./isql /opt/db/treewww/ftree.db -user ttt -password bbb;
Database: /opt/db/treewww/ftree.db, User: TTT
SQL> exit;
[root@fewww bin]# ./isql /opt/db/treewww/ftree.db -user aaa -password ccc;
Database: /opt/db/treewww/ftree.db, User: AAA
SQL> SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION') from rdb$database;
RDB$GET_CONTEXT
===============================================================================
3.0.2

同时,当我使用错误的登录凭据时,我在另一个数据库中收到“常规”错误消息:

[root@fewww bin]# ./isql /opt/db/testwww/ftest.db -user aaa -password ddd
Statement failed, SQLSTATE = 08001
I/O error during "lock" operation for file "/opt/db/testwww/ftest.db"
-Database already opened with engine instance, incompatible with current
Use CONNECT or CREATE DATABASE to specify a database

你能解释一下这件事吗?

马克·罗特·韦尔

您仅指定数据库的路径,而不是主机名,因此,isql使用Firebird Embedded数据库引擎来打开和访问数据库,而不是Firebird服务器。由于Firebird 3,Firebird Embedded不再在Linux上验证密码(它从未在Windows上验证密码,现在Linux遵循相同的规则),另请参阅《Firebird 3发行说明》

这适用于以下假设:如果用户具有对数据库文件的直接读写访问权限,则允许他们打开该文件。指定的用户名仍在使用,以应用授予该用户的特权,并且在未检查密码的情况下,任何用户名均被视为有效。除非您已授予该用户名或user特权,否则该用户可能没有足够的特权执行除查询系统表以外的其他操作PUBLIC

您显示的第二个错误可能意味着该数据库是由另一个应用程序使用不同的Firebird引擎(例如,SuperServer模式下的Firebird服务器进程)打开的,或者您的用户和该进程对锁文件的访问权限不同(不是100%对此有把握)。您可以尝试通过localhost连接,以查看是否可以通过以下方式访问数据库:isql localhost:/opt/db/testwww/ftest.db -user aaa -password ddd

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

登录问题我可以使用任何用户名和密码登录

我的登录功能无法匹配数据库中存储的用户名和密码

尝试连接到 somee.com 数据库时是否使用我的登录用户名和密码?

Python / Django数据库用户名和密码?

我正在尝试使用存储在数据库中的用户名和密码创建自定义登录页面,但无法解决此错误

是否可以通过了解PHP中的用户名和密码(仅)来入侵我的数据库?

在哪里可以找到google_sql sql数据库的用户名和密码?

如何授予不使用特定用户名和密码的用户访问数据库的权限?

如何在我的 java 项目中存储数据库密码和用户名?

如何在Axios中使用用户名和密码访问数据库

如何使用数据库表设置管理员的用户名和密码?

如何使用R DBI保护数据库用户名和密码?

在Java中使用用户名和密码创建数据库

使用php的数据库中的用户名和密码

我可以使用 Realm 存储所有数据,还是应该使用 NSUserDefaults 存储用户名/密码?

Artifactory 可以使用不同数据库和数据库用户名的 SQL Server 数据库吗?

我如何验证登录页面的用户名和密码是否存在于我的 websql 数据库中?

如何在 Django 中使用 postgres 数据库使用(用户名、电子邮件、密码、年龄和性别)创建登录和注册表单?

Redis - 用户名、密码和数据库?

数据库链接-无效的用户名/密码

您可以在Rails中获得数据库用户名,密码,数据库名称吗?

我将如何匹配Java servlet中数据库的用户名和密码。JDBC和Servlet

使用Python确定用户名是否在SQLite3数据库中

如何使用2或3个用户名和密码以用户形式创建登录名?

通过表单传递数据库用户名和密码,用于 Flask App 中的数据库连接

为什么我无法检索火力地堡实时数据库的用户名和密码

简单的用户名和密码登录 Python 3

您可以重置/检索桌面 Oracle 数据库的架构创建中使用的用户名/密码吗?

C#使用服务器的用户名和密码连接到本地SQL Server数据库