相关疑难解决方法(0)

postgresql超级用户没有密码提示

在Ubuntu 12.04上安装PostgreSQL 9.1后,我为"postgres"超级用户帐户设置了密码.我希望所有用户在登录时都必须输入密码.这就是为什么我这样配置pg_hba.conf:

#Database administrative login by Unix domain socket
local   all             postgres                                md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
Run Code Online (Sandbox Code Playgroud)

我做了这些更改后重新启动了postgresql.当我这样做时,psql -U testuser我被要求输入密码,但是当我使用"postgres"帐户登录时,psql -U postgres我没有得到密码提示并登录.如果我强制提示密码,psql -U postgres -W我可以通过输入正确的密码登录或者根本不输入任何东西.输入错误的密码会被拒绝.

任何人都可以向我解释为什么会这样吗?

在一个相关的说明:我看到很多例子,其中人们使用ident作为"postgres"用户的身份验证方法,认为要成为"postgres"用户需要机器的root密码.我假设推理是,如果攻击者获得root访问权限,那么无论如何都要完成.我更喜欢使用密码登录,一个与root密码不同.我喜欢为不同的东西设置不同的密码.这合理吗?

输出 grep '^[^#]' pg_hba.conf

local   all             postgres                                md5
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
Run Code Online (Sandbox Code Playgroud)

database authentication postgresql postgresql-9.1

13
推荐指数
2
解决办法
2万
查看次数

Postgresql不提示输入密码

我在linux框上设置了postgresql 8.3 db,并配有用户postgres pg_hba.conf读取

local   all         postgres                          ident sameuser
local   all         all                               md5
Run Code Online (Sandbox Code Playgroud)

所以没有来自本地机器的可信连接.

然而,当通过命令行与psql连接时,不会询问密码,所有用户都可以访问所有数据库.

我完全迷失在这里..

postgresql login

8
推荐指数
2
解决办法
1万
查看次数