登录数据库
一般用户在pgsql服务器上会创建相应的postgres用户,我们切换到postgres用户来操作数据库,pgsql
以postgres为默认用户。
执行su - postgres
切换后建议查看~/.bash_profile文件中是否将pgsql的bin目录加入环境变量中,方便使用pgsql相关命令
有相应环境变量后,即可直接执行:
psql -U postgres //连接pgsql server
psql -h 127.0.0.1 -d postgres -U postgres //连接pgsql server
在服务器本地postgres用户可直接使用psql命令(这个涉及到pg_hba.conf文件下的登录验证方式,后续会有说明)登录数据库
查看数据库版本:
外部命令行界面,可使用pg_ctl --version
登录到数据库内,使用select version();
接下来对应一些等保相关的条款,对应到pgsql中又是哪些设置呢?
身份鉴别
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
1.身份标识和鉴别
针对这个测评项,postgresql采用用户名+口令的方式进行身份标识和鉴别,除了这个我们还要搞清楚postgresql数据库的验证方式,这里就涉及到pg_hba.conf文件
pg_hba.conf文件(默认在$PGDATA目录下):
pg_hba.conf文件存放在数据库集群的数据目录里。
HBA 的意思是 host-based authentication:基于主机的认证。 在initdb初始化数据目录的时候,它会安装一个缺省的文件。
文件pg_hba.conf的常用格式是一套记录,每行一条。空白行行被忽略,井号( # )开头的注释也被忽略。并且记录不能跨行存在。
每条记录声明一种联接类型,一个客户端 IP 地址范围(如果和联接类型相关的话),一个数据库名,一个用户名字,以及对匹配这些参数的联接使用的认证方法。
第一条匹配联接类型,客户端地址和联接企图请求的数据库名和用户名的记录将用于执行认证。
具体文件内容如下: