大佬教程收集整理的这篇文章主要介绍了数据库 – postgresql超级用户没有密码提示,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#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
进行这些更改后,我重新启动了POSTGResql.当我这样做psql -U testuser我得到一个密码,但是当我使用这样psql -U POSTGRes的“POSTGRes”帐户登录时,我没有密码提示并且已经登录.
如果我用psql -U POSTGRes -W强制密码提示,我可以通过键入正确的密码或根本不输入任何内容登录.键入错误的密码被拒绝.
有人可以向我解释为什么会发生这种情况吗?
在相关的说明中:我看到很多例子,人们使用ident作为“POSTGRes”用户的身份验证方法,认为要成为“POSTGRes”用户需要机器的root密码.我认为推理是,如果攻击者获得root访问权限,那么你完成了任务.我更喜欢使用密码登录,与密码不一致.我推荐为不同的东西使用不同的密码.这是否合理?
local all POSTGRes md5 local all all md5 host all all 127.0.0.1/32 md5
>包含密码的POSTGRes主目录中的.pgpass文件(也检查非标准路径的PGPASSFILE环境变量).
>可以设置PGpassworD环境变量.
还有可能您编辑错误的pg_hba.conf文件.
以POSTGRes连接时,可以使用SHOW hba_file sql命令获取正确的路径进行验证.
此外,您可能需要检查日志文件/var/log/POSTGResql/POSTGResql-9.1-main.log,以确认在请求时重新加载配置文件,并在身份验证期间查找任何可疑消息.
至于与POSTGRes用户无密码连接的原因,debian PG-9.1 pg_hba.conf有关于不允许的注释:
# DO NOT disABLE! # If you change this first entry you will need to make sure that the # database superuser can access the database using some other method. # Noninteractive access to all databases is required during automatic # maintenance (custom daily cronjobs,Replication,and similar tasks). # # Database administrative login by Unix domain socket local all POSTGRes peer
由于Debian和Ubuntu使用相同的POSTGRes软件包,所以这也适用于Ubuntu.
以上是大佬教程为你收集整理的数据库 – postgresql超级用户没有密码提示全部内容,希望文章能够帮你解决数据库 – postgresql超级用户没有密码提示所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。