日記
Webアプリとバッチで共通に扱うデータファイルの権限Edit

Webアプリ(Apacheモジュールで動作するphp=httpd権限)とバッチ(コマンドラインアプリ)で共通に扱う(書き込み権限が必要な)データファイルがある場合、どのように取り扱うのが一番いいんだろう。

  1. ファイルを作成するときに誰でも書き込み可にする
  2. ファイルを作成するときにグループ書き込み可にして、httpdユーザーとコマンド実行ユーザーのグループをあわせる
  3. コマンド実行ユーザーは、httpdユーザーにsudoしてコマンドを実行する
  4. (シェル利用可能な)コマンド実行ユーザー=httpdユーザーにする
  5. コマンドはrootで実行しちゃえ!

キャッシュとかは1だったんだけど、キャッシュ以外のファイルを扱う場合は3かなー。2はやったことないけど、うまく設計すれば使いやすいだろうか? 外部ライブラリに依存していて、データファイルの権限を(ライブラリの中をいじらないと)コントロールできない場合も3だろうな。4は危険すぎるんで却下と思いつつも、ユーザー権限を適切に絞れるならばそれもありか? 5は緊急避難用?

Published At2006-02-03 00:00Updated At2006-02-03 00:00