Попытка установить PostgreSQL с Ruby on Rails с Nginx на CentOS 6.5, используя следующее руководство: http://karolgalanciak.com/blog/2013/07/19/centos-6-4-server-setup-with-ruby-on-rails-nginx-and-postgresql/
После установки я пошел настраивать пользователя, поэтому выполнил команду sudo su postgres
затем psql
. Когда я это сделаю, я получаю следующую ошибку:
could not change directory to "/root": Permission denied
psql (9.3.4)
Не обращая на это внимания, я дал команду:
alter user postgres with password 'postgres-user-password';
Затем я пошел изменить метод аутентификации на 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
Что здесь не так?
Во-первых, всегда ВСЕГДА используйте либо -l, либо просто - при использовании sudo. Например, "sudo su - postgres
"не"sudo su postgres
". Это гарантирует, что вы правильно выбираете среду целевых пользователей.
Похоже, вы используете sudo как пользователь root. В этом нет необходимости. У пользователя root уже есть необходимые права.
Если вы хотите, чтобы пользователь использовал sudo, вам потребуется соответствующая запись конфигурации в / etc / sudoers. Поскольку учетная запись postgres является учетной записью службы, вам будет лучше не создание записи sudoers для postgres. Лучше просто выполнять работу как root или sudoing из «нормальной» учетной записи.