对于postgresql数据库的使用,是因为在使用metasploit的过程中,发现该程序内置的数据库是postgresql,所以从开始触及这个数据库的。在使用metasploit的过程中,也或多或少用到了postgresql,而且msf的一些错误,都要归结到postgresql的配置 上,就 先总结下吧。
postgresql的配置文件的位置,在 /etc/postgresql/9.1/main,不同版本可能版本号有所不同,但位置都差不多。里面有下面一些文件:
root@kali:/etc/postgresql/9.1/main# ls -l
总用量 44
-rw-r--r-- 1 postgres postgres 316 5月 27 00:16 environment
-rw-r--r-- 1 postgres postgres 143 5月 27 00:16 pg_ctl.conf
-rw-r----- 1 postgres postgres 4733 10月 7 13:29 pg_hba.conf
-rw-r----- 1 postgres postgres 1636 5月 27 00:16 pg_ident.conf
-rw-r--r-- 1 postgres postgres 19206 10月 7 13:24 postgresql.conf
-rw-r--r-- 1 postgres postgres 378 5月 27 00:16 start.conf
以.conf后缀结尾的文件是配置文件,相应文件的详细功能和配置,建议单独百度解决,这里引用一篇文章,对postgresql的用户名和密码设置,进行一些说明:
kali下PostgreSQL修改密码与配置详解
在使用msf的过程中,如果msf配置的postgresql用户名和密码不正确,在启动过程中就会报错,msf中配置postgres用户名和密码的文件位置:
/opt/metasploit/apps/pro/ui/config/database.yml
该文件内容如下:
development:
adapter: "postgresql"
database: "msf3"
username: "msf3"
password: "msf3"
port: 5432
host: "localhost"
pool: 256
timeout: 5
production:
adapter: "postgresql"
database: "msf3"
username: "msf3"
password: "msf3"
port: 5432
host: "localhost"
pool: 256
timeout: 5
相关配置都是自解释的,不做过多说明。
下面说下如何对postgresql的用户和密码进行配置:
首先, #su postgres , 进入postgres账户,默认是没有密码的,可以直接进入。
进入后, $psql -U postgres , 进入postgresql的命令模式,然后就可以输入命令了:
PostgreSQL默认的超级管理员密码是postgres
连接方法:psql -U postgres(注意,是大写的-U)
默认密码为空
修改密码的方法是,用psql登入管理:psql -U postgres
然后用这样的命令来修改密码:alter user postgres with password 'new password'
先su postgres转入postgres用户,之后:
1) 添加新用户
createuser -drSP FedoraAdmin
按照提示输入该用户的密码。
2) 创建一个属于自定义用户FedoraAdmin的数据库
createdb -O FedoraAdmin testdb
详细配置还是建议读这篇文章: