我正在学习 Web 开发和部署的来龙去脉。
我有一个 Ubuntu 服务器,我有一个 unix 用户userX
,并且我安装了 PostgreSQL。我有一个简单的 Python / Flask Web 应用程序,它将在userX
unix 帐户下运行。
我需要 Web 应用程序能够连接到 PostgreSQL,所以我运行sudo -u postgres createuser userX
它并且返回没有错误。我现在可以使用sudo -u userX psql
.
问题:
新创建的 userX 帐户(角色,在 PostgreSQL 中)不需要密码。一方面,这似乎是正确的,因为如果 Web 应用程序需要它连接到 PostgreSQL,任何密码都必须存储在服务器本身上。另一方面,不需要密码似乎不安全(尽管,如果没有人可以登录
userX
,这应该没问题)?postgres
PostgreSQL 帐户也不需要密码。这是否意味着该postgres
帐户不安全?这应该允许存在还是应该postgres
删除用户?我应该使用postgres
用户而不是连接到数据库userX
吗?pg_hba.conf 在所有这些中发挥什么作用?