MacOS下postgresql数据库密码的那些事
如果你是第一次玩postgresql数据库,你会发现你给role或者user明明设置了密码,但在登录的时候毛都不用输入,直接就进去了,怎么那么爽快!?
虽然爽快,但貌似不该这样啊.
其实这些都和一个重要的文件有关,它就是pg_hba.conf!
那么这个文件在哪呢?如果你是mac或是linux系统,你可以通过如下方式找到这个文件:
ps aux|grep postgres
//你会发现输出其中有-D的一行
apple 70988 0.0 0.2 2604888 8884 s001 S 2:05下午 0:00.54 /usr/local/Cellar/postgresql/9.4.4/bin/postgres -D /usr/local/var/postgres
上面-D后面就是pg_hba.conf的位置所在,用编辑器打开它,你会发现其中包含了详细的说明文档.如果你不想鸟这些东东,你只要知道每一条都是一条策略,说明了访问那些位置需要什么样的认证方式,比如:
local all all trust
说明了所有本地访问都是受到信任的,在认证时是不需要输入密码的,像trust这一列称为method,有很多种method,比如:
"trust", "reject", "md5", "password", "gss", "sspi",
"ident", "peer", "pam", "ldap", "radius" or "cert"
有兴趣的可以自行进一步研究下,那么如果我希望在本地登录统统需要输入密码,你只要吧local最后的method改为password即可.你当然可以制定更加具体一点的策略:
host db_name user_name 10.10.10.1 password
比如以上策略表示通过socket连接,使用用户user_name访问地址10.10.10.1上的数据库db_name需要输入密码!
ok!现在通过psql登录本地任何数据库都需要输入密码啦,但是通过gui工具pgadmin登录还是不需要密码,我们还需要修改另2条策略:
# IPv4 local connections:
#host all all 127.0.0.1/32 password
# IPv6 local connections:
#host all all ::1/128 password
因为pgadmin不是通过local来登录postgresql的.你还可以设置一条策略,就是所有通过网络来访问的都要输入密码:
host all all samehost password
其中samehost代码任何host地址.
最后还要说另一个文件.pgpass,这个文件的目的是如果登录时需要输入密码,那么你可以把对应的密码写在这里,这样你就可以直接登录了.
该文件是在用户的home目录中,也可能开始并不存在,需要手动创建:
touch ~/.pgpass
chmode 0600 ~/.pgpass
后面一句是postgresql所要求的,增加安全性.
比如test用户的密码为pwd,则我们可以在.pgpass文件中增加一行:
*:5432:*:test:pwd
那么用test用户访问任何地址的任何数据库(通过5432端口)都不需要手动输入密码了,但是其它用户还是需要输入密码的.
MacOS下postgresql数据库密码的那些事的更多相关文章
- Windows下Postgresql数据库的下载与配置方法
注意下载的是二进制版,不是带Windows Installer的,即绿色版本 http://www.enterprisedb.com/products-services-training/pgbind ...
- MetaSploit攻击实例讲解------终端下PostgreSQL数据库的使用(包括kali linux 2016.2(rolling) 和 BT5)
不多说,直接上干货! 配置msf连接postgresql数据库 我这里是使用kali linux 2016.2(rolling) 用过的博友们都知道,已经预安装好了PostgreSQL. 1. p ...
- centos7下postgresql数据库安装及配置
1.安装 #yum install -y postgresql-server 2.postgresql数据库初始化 #service postgresql initdb 3.启动postgresql服 ...
- linux下PostgreSQL数据库的源码安装
实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 ...
- Linux下postgresql数据库部署与配置
1.检查postgresql是否已经安装:rpm -qa | grep postgres 2.检查PostgreSQL 安装位置:rpm -qal | grep postgres 3.卸载Postgr ...
- 避免硬编码你的PostgreSQL数据库密码
一个密码文件包含了我们需要连接的五个字段,所以我们可以使用文件权限来使密码更安全. host:port:dbname:user:password such as myhost:5432:postgre ...
- windows下postgresql数据库备份和还原
1.通过cmd进入数据库的bin目录 cd C:\Program Files\PostgreSQL\9.6\bin 2.执行pg_dump备份命令,localhost 或者IP pg_dump -h ...
- PostgreSQL介绍以及如何开发框架中使用PostgreSQL数据库
最近准备下PostgreSQL数据库开发的相关知识,本文把总结的PPT内容通过博客记录分享,本随笔的主要内容是介绍PostgreSQL数据库的基础信息,以及如何在我们的开发框架中使用PostgreSQ ...
- odoo开发笔记 -- odoo和postgresql数据库导入相关
odoo数据库 导入.导出 首先odoo框架下postgresql数据库中,表结构的存储方式: 存在id(小写),并没有所谓的外部ID 例如数据库中的国家表:模块名_tb_country (注意: ...
随机推荐
- Java-NIO(二):缓冲区(Buffer)的数据存取
缓冲区(Buffer): 一个用于特定基本数据类行的容器.有java.nio包定义的,所有缓冲区都是抽象类Buffer的子类. Java NIO中的Buffer主要用于与NIO通道进行交互,数据是从通 ...
- Spring(二):Spring框架&Hello Spring
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架. Spring 框架 ...
- js中call和apply的用法
1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...
- 【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建
由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...
- 【swift】ios中生成二维码
ios开发中可以自己代码生成二维码,需要使用到一个框架 CoreImage CoreImage框架可以做滤镜,Gif动图,二维码等 先看效果图 下面直接贴上代码(OC也是下面一样的流程) func c ...
- Lintcode388 Permutation Sequence solution 题解
[题目描述] Given n and k, return the k-th permutation sequence. Notice:n will be between 1 and 9 inclusi ...
- HDU3389 Game
Problem Description Bob and Alice are playing a new game. There are n boxes which have been numbered ...
- NOIP2014-5-10模拟赛
Problem 1 机器人(robot.cpp/c/pas) [题目描述] 早苗入手了最新的Gundam模型.最新款自然有着与以往不同的功能,那就是它能够自动行走,厉害吧. 早苗的新模型可以按照输入的 ...
- hdu 3436 线段树 一顿操作
Queue-jumpers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- [bzoj3668][Noi2014]起床困难综合症/[洛谷3613]睡觉困难综合症
来自FallDream的博客,未经允许,请勿转载,谢谢. 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综 ...