赞
踩
PostgreSQL
在安装时默认密码设置为“postgres
”,给数据库安全带来了隐患。因此,在安装PostgreSQL
之后,最好更改初始密码,以提高数据库的安全性。
下面是一个更改初始密码的示例:
# 进入PostgreSQL Shell(psql)
> sudo -u postgres psql
# 更改密码
postgres=# ALTER USER postgres WITH PASSWORD 'new_password';
更改PostgreSQL用户密码
的方法已经在第一部分中介绍过,可以使用ALTER USER语句更改任何用户的密码。 但是,某些情况下,用户可能忘记了他们的密码或无法使用超级用户(如postgres
)更改密码。 在这种情况下,您可以使用以下步骤更改postgres用户的密码:
# 停止PostgreSQL服务
> sudo systemctl stop postgresql
$ sudo vim /var/lib/pgsql/data/pg_hba.conf
在文件的最后添加以下内容:
#添加如下内容即可:
host all all 127.0.0.1/32 md5
# 以身份验证的方式启动PostgreSQL
> sudo PGSETUP_INITDB_OPTIONS="--auth-host=md5" /usr/pgsql-13/bin/pg_ctl start -D /var/lib/pgsql/13/data -l logfile
> psql -U postgres
> \password postgres
输入新密码并按Enter
键,之后要求再次输入新密码以确认。 登录的密码现在已更改为您输入的新密码。
以下演示如何设置postgresql数据库密码和超级用户postgres的密码。
> sudo systemctl restart postgresql
> sudo -u postgres psql
> ALTER USER postgres with encrypted password 'your-password';
> sudo vim /var/lib/pgsql/13/data/pg_hba.conf
在文件最后添加以下内容:
# 添加如下内容:
host all all 0.0.0.0/0 md5
> sudo vim /var/lib/pgsql/13/data/postgresql.conf
找到听连接字符串,其可如以下所示:
#监听地址
listen_addresses = 'localhost'
修改为以下内容
listen_addresses = '*'
> sudo systemctl restart postgresql
如果您忘记了postgres
用户的密码,那我们可以通过以下步骤重置。
$ sudo vim /usr/pgsql-14/data/pg_hba.conf
在文件的最后添加以下内容:
host all all 127.0.0.1/32 trust
> sudo systemctl stop postgresql
> sudo systemctl start postgresql
> sudo -i -u postgres
$ psql
ALTER USER postgres with encrypted password 'your-password';
$ sudo vim /var/lib/pgsql/data/pg_hba.conf
将文件中所有的
local all all trust
host all all 127.0.0.1/32 trust
替换为如下所示:
local all all md5
host all all 127.0.0.1/32 md5
> sudo systemctl restart postgresql
PostgreSQL
支持数据和传输功能的加密。 在某些情况下,如包含敏感数据的生产环境中,使用加密功能可以确保数据不会被未经授权的人访问。
启用PostgreSQL SSL
:
# 修改postgresql.conf文件以启用SSL
listen_addresses = 'localhost'
ssl = on
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
ssl_ca_file = '/etc/ssl/certs/ca-certificates.crt'
ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem'
ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key'
# 重启PostgreSQL服务器
sudo systemctl restart postgresql
可以在PostgreSQL Shell
中使用以下命令:
SELECT usename, passwd FROM pg_shadow;
除此之外,您还可以使用以下命令查看指定用户的密码:
SELECT passwd FROM pg_shadow WHERE usename='username';
小编不知道用户名密码,甚至不知道相关服务怎么看,这个服务是其他软件自带的,只知道服务起来了(可以看那个软件的status),用户名全靠猜,默认用户名也没有
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。