我正在为 PostgreSQL 数据库设置 LDAP 身份验证,并在我的pg_hba.conf
文件中添加了以下内容:
# TYPE DATABASE USER ADDRESS METHOD
host all all all ldap ldapurl="ldap://example.local/dc=example,dc=local?sAMAccountName" ldapbinddn="username" ldapbindpasswd="password"
有用!但现在我想将用户名和密码存储为环境变量,就像我对大多数配置设置所做的那样。我尝试将用户名和密码添加为 $LDAPUSERNAME 或“$LDAPUSERNAME”,但它们没有插入任何值。这可能吗?
注意:数据库将在 docker 容器中运行。如果我必须pg_hba.conf
在启动数据库之前运行一些脚本来处理文件,我可以。
您不能通过 PostgreSQL 中的环境变量指定这些设置。请记住,这
ldapbindpasswd
是特定于某pg_hba.conf
一行的,不同的行可能有不同的设置。由于我的最终目标是使密码不受版本控制并且数据库在 docker 容器中运行,因此我
pg_hba.conf
在初始化时使图像处理文件。.env
文件:将此文件添加到您的文件中,
.gitignore
这样它就不会被提交。pg_hba.conf
使用环境变量编辑文件:scripts/ldap.sh
)并更新 dockerfile 以将脚本复制到初始化目录中:现在只需启动您的数据库并注意日志中的任何错误!