pg_passwd

Name

pg_passwd --  テキストパスワードファイルの操作

Synopsis

pg_passwd filename

説明

pg_passwdは、パスワードファイル(通常のテキスト)を 操作するツールで、パスワードファイルをPostgreSQL サーバでのクライアント認証を制御するために使用します。 この認証方法に関する詳細はAdministrator's Guideに 書かれています。

テキストパスワードファイルは、各行に1つの項目(各項目のフィールドはコロンによって 区別されます)を記述する形式となっています。1つ目のフィールドはユーザ名、2つ目の フィールドは暗号化されたパスワードです。その他のフィールドは無視されます。 (似たようなフォーマットを使用するアプリケーション間でパスワードファイルを 共有するため)pg_passwdユーティリティの機能には、 ユーザが対話的にそれらのファイルにパスワードを追加、存在するパスワードを 変更、それとパスワードの暗号化を操作という目的があります。

pg_passwdコマンドの引数としてパスワードファイル名を 指定して下さい。クライアント認証で使用する際には、ファイルはサーバのデータ ディレクトリにある必要があり、ファイルのベース名はpg_hba.conf 接続管理ファイルに指定されている必要があります。

$ pg_passwd /usr/local/pgsql/data/passwords
File "/usr/local/pgsql/data/passwords" does not exist.  Create? (y/n): y
Username: guest
Password:
Re-enter password:
Password:Re-enter password:プロンプトでは 同じパスワードを入力する必要があります。それらはターミナルでは表示されません。 標準のcrypt(3)ライブラリルーチンで、パスワードは有効な8文字に制限されています。

オリジナルパスワードファイル名はpasswords.bkに 変更されます。

このパスワードファイルを使用する際には、下記のような1行を pg_hba.confに記述して下さい。

host  mydb     133.65.96.250   255.255.255.255 password passwords
この1行によって、ホスト133.65.96.250から、passwordsファイルに 書かれているパスワード(また、そのファイルに書かれているユーザ)を使用して mydbというデータベースに接続を許可します。

Note: パスワードファイルのパスワードフィールドを空にしておくのも便利な使用方法です。 (これは空のパスワードとは異ります。)それらは pg_passwdで管理できませんが、 パスワードファイルを手動で編集することはいつでも可能です。

参照

PostgreSQL Administrator's Guide