HSQLDB服务器ACL不生效
HSQLDB server ACL takes no effect
我正在尝试在服务器模式下使用 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
。仍然没有效果,当我停止服务器时 属性 被删除。
我错过了什么?
首先,如果您使用的 server.properties
文件不在您执行 java
命令的目录中,您应该包括该属性文件的路径。
同样的场景,在server.properties文件中,需要使用与测试成功相同的路径。所以应该是:
server.acl=~/workspaces/foo/db/fooserver.acl
如果从包含这两个文件的目录发出 java 命令,指定属性和 acl 文件会更容易。在这种情况下,您可以使用短文件名而不是完整路径。
我正在尝试在服务器模式下使用 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
。仍然没有效果,当我停止服务器时 属性 被删除。
我错过了什么?
首先,如果您使用的 server.properties
文件不在您执行 java
命令的目录中,您应该包括该属性文件的路径。
同样的场景,在server.properties文件中,需要使用与测试成功相同的路径。所以应该是:
server.acl=~/workspaces/foo/db/fooserver.acl
如果从包含这两个文件的目录发出 java 命令,指定属性和 acl 文件会更容易。在这种情况下,您可以使用短文件名而不是完整路径。