无法设置 postgres 用户密码

无法设置 postgres 用户密码

尝试使用以下指南在 CentOS 6.5 上安装带有 Nginx 的 Ruby on Rails 的 PostgreSQL: http://karolgalanciak.com/blog/2013/07/19/centos-6-4-server-setup-with-ruby-on-rails-nginx-and-postgresql/

安装后,我去配置用户,然后发出命令sudo su postgrespsql当我执行此操作时,出现以下错误:

could not change directory to "/root": Permission denied
psql (9.3.4)

忽略这一点,我发出了命令:

alter user postgres with password 'postgres-user-password';

然后我将 auth 方法更改为 md5 dy 执行以下操作:

sudo vi /var/lib/pgsql/9.3/data/pg_hba.conf

当我执行此操作时,系统会显示以下提示:

[sudo] password for postgres:

Sorry, try again.无论我输入什么密码,即使密码与我刚刚设置的密码完全相同,也会收到提示。

尝试按照 user716468 的帖子中的说明进行操作,但没有成功: 全新安装后,postgres 的默认超级用户名/密码是什么?

当我这样做时,sudo -u postgres psql postgres有人告诉我:

postgres is not in the sudoers file.  This incident will be reported.
You have new mail in /var/spool/mail/root

这里有什么问题?

答案1

首先,总是总是使用 sudo 时,请使用 -l 或直接使用 -。例如,“ sudo su - postgres” 而不是“ sudo su postgres”。这可确保您正确选择目标用户环境。

听起来你正在以 root 用户身份使用 sudo。这是不必要的。root 用户已经拥有所需的权限。

如果您希望用户使用 sudo,那么您需要在 /etc/sudoers 中配置适当的配置条目。由于 postgres 帐户是服务帐户,因此最好使用不是为 postgres 创建 sudoers 条目。最好以 root 身份执行此操作或从“普通”帐户执行 sudo。

相关内容