2016-09-13 9 views
1

私がpg_hba.confで読んだところから、私はpostgresユーザーのパスワードを入力するように促すために、pg_hba.confの最初の2つのエントリのメソッドを現在の 'peer' 「パスワード」または「md5」のいずれかに設定しますが、間違っていればそれを壊したくありません。正しい軌道にいるのですか?または明らかに何かを欠けている?とにかくなぜPostgreSQLはユーザのpostgresのパスワードを要求しないのですか?

、より詳細 -

は、Debian上のpostgres 9.4をインストールした後、私はthis-

postgres=# \password postgres 

をやって...そして二度新しいパスワードを入力することにより、postgresユーザのパスワードを変更しました。

それから私は、私は戻ってはpostgresに(sudoの-uのpostgres psqlを)ログインするとbash-

sudo service postgresql restart 

からサーバーを再起動し、その後、postgresの(Ctrlキー+ D)を終了し、私は新しいの入力を求めていませんよパスワード。私はちょうど得ます -

psql (9.4.9) 
Type "help" for help 

postgres=# 

また、.pgpassファイルは私のホームディレクトリにありますが、それは空です。最後に、pg_hba.confの最初の2行は、

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

@zerkms 'peer'認証を有効にする必要はなく、無効にすることができます。しかし、あなたがログインできるようにしたいのであれば何かがほしいと思うでしょう。 –

+0

@CraigRinger何か十分な特権を持っています。また、さまざまなツールが存在することがあります(バックアップスクリプトなど)。 – zerkms

答えて

3

です。パスワードを設定すると、それを必要とする認証方法にのみパスワードが与えられます。ログインにパスワードを指定する必要はありません。

パスワードが必要かどうかは、pg_hba.confによって制御されます。 peer authモードはパスワードを必要としません。ユースユーザー名が接続しようとしているユーザー名と同じであれば、ユーザーはログインできます。

パスワード認証を使用する場合は、md5認証を試してください。

関連する問題