1

我正在安装需要 PostgresSQL 的 DSPACE。

请看这个链接:DSPACE INSTALL

它说:

然后通过编辑 pg_hba.conf 并添加以下行来加强安全性:

host dspace dspace 127.0.0.1 255.255.255.255 md5. 

我已经在互联网上阅读了上述线路的工作原理。它需要一个连接类型,后跟数据库名称/用户名,然后是 IP 地址和身份验证方案。

我的问题是:由于 dspace 用户在本地运行,这不应该是本地(代替主机)连接吗?

有人可以逐步告诉我请求进来时会发生什么吗?dspace 用户将使用 md5 提交请求的说明在哪里?

4

2 回答 2

2

DSpace 使用 JDBC,所以local不适合它。这里local指的是一种完全不同的进程间连接,与 IP 无关,只能寻址本地进程:Unix 套接字。JDBC 只使用 IP,所以 DSpace 需要一个host描述符。

行尾的那段时间不应该是其中的一部分。那里的文档不清楚——我已经修好了。

正如 Laurenz Albe 所指出的,DSpace 没有指定使用 MD5 密码哈希。PostgreSQL 服务器根据您在pg_hba.conf.

于 2019-04-24T00:17:31.377 回答
1

首先,.在您的pg_hba.conf行尾有一个。那是语法错误。

是使用local还是host取决于

  • 这个 DSPACE 正在使用什么 API(例如,JDBC 不允许 UNIX 套接字连接)

  • DSPACE 正在使用什么连接字符串

如果您可以指定一个套接字目录作为主机名,那么您可能可以使用 UNIX 套接字,这样会更有效。

如果 DSPACE 使用支持md5身份验证的驱动程序,则过程如下:

  • 客户端向服务器发送与用户和数据库的连接数据包

  • 服务器请求md5身份验证并发送一个随机的“salt”字符串

  • 客户端使用来自服务器的盐计算密码的 MD5 哈希,并将结果发送到服务器

  • 服务器验证哈希是否正确

于 2019-04-23T07:55:41.180 回答