2016-09-13 2 views
1

Из того, что я читал в pg_hba.conf, я предполагаю, что для запроса пароля для пользователя postgres мне нужно отредактировать метод первых двух записей pg_hba.conf из текущего «peer», на «пароль» или «md5», но я не хочу нарушать вещи, если это неправильно. Я на правильном пути? Или пропустить что-то очевидное?Почему Postgres не запрашивает пароль для пользователей postgres?

Во всяком случае, более детали-

После установки Postgres 9.4 на Debian, я изменил пароль пользователя Postgres путем делать this-

postgres=# \password postgres 

... и введя новый пароль дважды.

Затем я вышел Postgres (Ctrl + D), затем перезапустить сервер из bash-

sudo service postgresql restart 

Когда я снова войти в Postgres (Судо -u Postgres PSQL), я не запрошен новый пароль. Я просто получаю

psql (9.4.9) 
Type "help" for help 

postgres=# 

Кроме того, файл .pgpass находится в моем домашнем каталоге, но он пуст. Наконец, первые две строки pg_hba.conf являются

local all  postgres  [blank] peer 
local all  all   [blank] peer 
+0

@zerkms Для авторизации «peer' auth» не требуется, и его можно отключить. Но вы хотите * что-то *, если хотите, чтобы иметь возможность войти. –

+0

@CraigRinger что-то, что имеет достаточные привилегии yep. И различные инструменты иногда полагаются на свое присутствие (например, сценарии резервного копирования). – zerkms

ответ

3

Установка пароля обеспечивает только пароль для методов аутентификации, которые требуют этого. Он не добавляет требования о том, чтобы пароль был указан для входа.

Независимо от того, требуется ли пароль, требуется pg_hba.conf. Режим auth peer не требует пароля, он позволяет пользователю войти в систему, если их имя пользователя unix совпадает с именем пользователя postgres, с которым они пытаются подключиться.

Попробуйте md5 auth, если вы хотите аутентификацию по паролю.

Смежные вопросы