【发布时间】:2020-04-05 14:41:16
【问题描述】:
我正在尝试在服务器模式下使用 HSQLDB,但无法使 ACL 工作。
我用这个命令行启动了一个服务器(创建一个新的数据库):
java -cp $CLASSPATH:/usr/share/java/hsqldb.jar org.hsqldb.server.Server --database.0 file:~/workspaces/foo/db/fooserver --dbname.0 fooserver
我可以使用 HSQL 数据库管理器连接到它并发出SHUTDOWN。
接下来,我在~/workspaces/foo/db/fooserver.acl创建了一个ACL文件,内容如下:
deny 127.0.0.1
我使用java -cp $CLASSPATH:/usr/share/java/hsqldb.jar org.hsqldb.server.ServerAcl ~/workspaces/foo/db/fooserver.acl 成功测试了它,它告诉我 127.0.0.1 被拒绝访问。
现在我创建了~/workspaces/foo/db/server.properties(因为还没有server.properties 文件),内容如下:
server.acl=traffserver.acl
但是,当我现在启动服务器时,我仍然可以连接到数据库。
HSQLDB 版本为 2.4.1,随 Ubuntu 18.04 提供。
我尝试过的其他事情:
-
This mailing list post 建议使用
server.acl_filepath而不是server.acl。行为仍然相同。 - 我已尝试将任一属性添加到
fooserver.properties。仍然没有效果,当我停止服务器时,该属性被删除。
我错过了什么?
【问题讨论】: