[pgsql-jp: 36389] psql (PostgreSQL) 7.4.8 での .pgpass の不可解な動作
Shindo
shindo @ atsystem.jp
2005年 11月 14日 (月) 16:56:43 JST
進藤です。
お世話になります。
.pgpass ファイルを使って特定の場合だけ認証に失敗します。
環境:
Linux version 2.6.9-5.0.5.ELsmp
psql (PostgreSQL) 7.4.8
1)実行ユーザーのホームディレクトリに .pgpass を置いてパスワードを
格納してあります。
.pgpass の実行権は 600 で所有者、グループの設定も実行ユーザーに
設定しています。
2)他のプログラムから シェルスクリプトを介して pgsql でDBにレコードを
追加しようとして認証で失敗します。
Password:
psql: fe_sendauth: no password supplied
3)このシェルスクリプト内の psql の実行直前に 環境変数PGPASSWORDで
パスワードを設定してやると問題なく認証できてレコードも登録されます。
4)スクリプトの実行ユーザーを確認するために、スクリプト内で
w=`whoami`
echo $w >>logfile
と記述してみたのですが、logfile には正しい実行アカウントが書かれます。
5)同じシェルスクリプトを、Linuxのコマンドプロンプトで実行ユーザー
として実行すると問題なく認証できてレコードも登録されます。
6)同じプログラムを他のサーバー(Linux version 2.4.20-20.7)、
(psql (PostgreSQL) 7.4)の組合せでは、問題なく認証できて実行できます。
質問:
1)この現象が、このバージョンに限った問題なのでしょうか。
そうであれば、バージョンアップまたはダウンで対処したいと考えています。
2)他に何か回避策が無いでしょうか。
よろしくお願いいたします。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
進藤寿則@アットシステム _/_/
e-mail shindo@atsystem.jp _/
pgsql-jp メーリングリストの案内