category: データベース
DATE : 2006/08/12 (Sat)
DATE : 2006/08/12 (Sat)
pg_hba.conf ファイルを編集すると、クライアントがデータベースサーバにアクセスする際の認証方式を設定することができます。(通常、pg_hba.conf は、データディレクトリ直下にあります)
何も設定していない場合の pg_hba.conf は次のようになっています。(Windows XP SP2 上の PostgreSQL 8.14 の場合)
# TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust
ここで、それぞれの列は次のような内容となっています。
- TYPE
- 接続方法を表します。host は、TCP/IP 接続を表しています(ただし、通常は localhost からの TCP/IP 接続のみ行えます)。
- DATABASE
- 認証の対象とするデータベースの名前を表します。all は、全てのデータベースを表します。
- USER
- 認証の対象とするユーザ(ロール)の名前を表します。all は、全てのユーザ(ロール)を表します。
- CIDR-ADDRESS
- 認証の対象とする IP アドレスの範囲です。上の例では、PostgreSQL サーバを実行しているマシン自身の IP アドレスを表しています。
- METHOD
- 認証方式を表します。trust は、認証を行わない、つまり、パスワードなしでデータベースサーバにアクセスできることを表します。
ここで、ローカルからのアクセスでも認証を行うには、上の設定を次のように変更します。
# TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
各設定の METHOD を、trust から md5 に変えました。こうすることで、パスワード認証を行うことができます。なお、md5 とは、クライアントとサーバの間でパスワードを暗号化してやりとりする方式です。ちなみに、password と設定すると、パスワードを平文でやりとりします。(他の方法は、参考文献を参照してください)
1人でデータベースを扱う場合は Trust 認証でもよいのですが、複数人で扱う可能性のある場合は、パスワード認証にした方がよさそうです。
参考文献
PR
●この記事にコメントする
忍者ブログ [PR]