Ubuntu 10.04にApache + mod_wsgiとPostgreSQLを使用してDjangoサイトを導入する予定です。PostgreSQLデータベースに対するApacheユーザ権限
IDENT認証を使用してデータベースに接続する予定です。このためには、Apache用のPostgreSQLユーザー(www-data
)を作成する必要があります。私はこれをスーパーユーザーにしたり、特別な特権を与えたりしないことに決めました。
私はデータベースを作成しました。私は実際にテストの間にこれを2回しました。私は初めてApacheユーザーを所有者に設定しました。 2回目は自分自身(スーパーユーザー)としてオーナーを設定し、データベースに対するすべての権限をApacheユーザーに与えました。
Django syncdb管理コマンドを使用すると(自分自身で)、作成されたテーブルにはApacheユーザーがアクセスできません。これは、各テーブルのApacheユーザーにすべてのアクセス許可を与えることで解決できますが、それは厄介なことです。
代替方法として、スーパーユーザーとしてのアクセスが許可されているようです。
私のプロジェクトでローカルDBにPostgreSQLのスーパーユーザーとしてアクセスすることは許容されていると思われますが、IDENT認証は安全ですか?そうでない場合、一般的な慣行は何ですか?
編集:私は以来、PostgreSQLはローカル接続のためのMD5認証を使用するように切り替えが人生をより容易にすることがわかってきました。
ident認証を使用する場合、データベースへの接続は、通常の操作中にApacheユーザー経由で行われます。 Django管理コマンドが使用されるとき、接続は現在のユーザ経由で行われます。
MD5を使用する場合、上記の問題を回避して、どちらの状況でもsettings.pyファイルのDATABASESセクションで指定された詳細を使用してデータベースに接続します。
PostgreSQLのスーパーユーザが賢明であるかどうか知りたいです。