0812345678910111213141516171819202122232425262728293010

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【 --/--/-- (--) 】 スポンサー広告 | TB(-) | CM(-)

PostgreSQLのユーザー認証方法を変更--pg_hba.conf

PostgreSQLの認証方式を定義する設定ファイルは、pg_hba.confというファイル。
これを編集して、パスワード認証、LDAP認証などを設定する。

ただ...
"local all all trust"って...

無防備すぎるでしょw 
このマシンのOSにログインできたら、どんなユーザーでも無条件にデータベースへログインできるって設定になってる。


[root@localhost ~]# find / -name pg_hba.conf 2>/dev/null
/usr/local/pgsql/data/pg_hba.conf
[root@localhost ~]# ls -l /usr/local/pgsql/data/pg_hba.conf
-rw-------. 1 postgres postgres 4476 Jan 29 05:20 /usr/local/pgsql/data/pg_hba.conf
[root@localhost ~]# view /usr/local/pgsql/data/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres trust
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust



ちょっとあんまりなので、パスワード認証を有効にする。

その前に、特権ユーザーpostgresに対して、あらためて明示的にパスワードを変えておく。
このユーザーでもログインできなくなったらシャレんならん。


まず、postgresユーザーのパスワード変更。


-bash-4.1$ psql postgres
psql (8.4.18, server 9.3.2)
WARNING: psql version 8.4, server version 9.3.
Some psql features might not work.
Type "help" for help.

postgres=# alter user postgres password 'postgres'; #実際には違うの入れてますがね。
ALTER ROLE



そして、認証方式設定ファイルpg_hba.confの編集。パスワード認証方式に、md5(パスワードハッシュ値での認証)とpassword(パスワードが平文で流れる)の2種類があるので、md5を使うことにする。
METHODがtrustの行をコメントアウトして、下記のように追加する。


local all all md5
host all all localhost md5
host all all 192.168.151.0/24 md5 # host os in home wifi network
host all all 192.168.230.0/24 md5 # vmware guests in virtual network


データベース再始動後、ちゃんとログイン時にパスワードを聞いてくるようになった。


-bash-4.1$ psql postgres
Password:
psql (8.4.18, server 9.3.2)
WARNING: psql version 8.4, server version 9.3.
Some psql features might not work.
Type "help" for help.




それにしても、PostgreSQLは、データベースとOSが何だかごっちゃになってるなぁ...
ユーザー追加コマンドがOSから起動できたり、認証方式の設定がOS上のファイルだったり、DBMSってそんな感じでいいんだっけ?

OSとは切り離された世界になってた方がいいんじゃないのという気もするが。



・参考リンク
ユーザーにパスワードを設定する--ワレココニイル。
ALTER USER--PostgreSQL 9.3.2文書
スポンサーサイト
【 2014/02/09 (Sun) 】 未分類 | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

Ed U Song

Author:Ed U Song
社内ノマドなエンジニア。
仕事で触れる機会のないものを自宅環境作って実験。

スポンサーリンク
最新コメント
最新トラックバック
検索フォーム


                                         
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。