• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストファイルに書き込めない(ファイルの所有者と実行者の違いか?))

テキストファイルにログを書き込む処理の問題

このQ&Aのポイント
  • テキストファイルにログを書き込む処理で、ファイルの所有者と実行者の違いにより書き込みができない問題が発生しています。
  • Web上から実行される場合と/etc/aliasesから実行される場合で、ログの書き込みについて異なる結果が生じています。
  • aliasesで実行されるアカウントはどのようなものであり、この問題を回避する方法について情報をお探しです。

質問者が選んだベストアンサー

  • ベストアンサー
  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.2

>読んでいるのはsendmailになります。 >となると、どのアカウントになるのでしょうか? 設定によっても変わりますが、おそらくbinだと思います。 (すいません。私はqmail派なのでsendmailはよくわかりません) >aaa.txtが格納してあるフォルダのパーミッションが >770になってます(これは訳ありで変更不可) このパーミッションだとperlの実行自体行われていないかもしれません。 perlの実行されているuidを調べる場合、$<でも良いですが、今回の場合実際にperlが起動されているかどうかも不明なので、sleep (180)とかして別プロセスからps -axすると良いと思います。 >ということは、Perlプログラムは「その他」扱い >になっているのでしょうか?(なぜ?) もしかしたらそうかも。 (ディレクトリの所有者でも所有者のグループにも属していない場合、「その他」扱いになります)

majikaru
質問者

お礼

ご回答ありがとうございます。 とても参考になりました。

その他の回答 (1)

  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.1

>aliasesで実行させるアカウントは >いったいどのようなアカウントなのでしょうか(binユーザーとか?) /etc/aliasesを何が読んでいるかで実行uidは変わります。 (sendmailはもちろんのこと、qmailでも読むように設定できたはずだし、postfixでも使ったはず) >また、これを回避するにはどのようにすればよろしいでしょうか? aaa.txtのパーミッションを666にすれば良いのでは? もし、644で行いたい場合、/etc/aliases内でsu - www /ccc/aaa.plするとか。 (aliasesがrootで実行されてれば644でも問題ないはずだからこれはだめかも)

majikaru
質問者

補足

ご返答ありがとうございます。 >/etc/aliasesを何が読んでいるかで実行uidは変わります。 読んでいるのはsendmailになります。 となると、どのアカウントになるのでしょうか? >aaa.txtのパーミッションを666にすれば良いのでは? パーミッション666に変えて試してみましたがダメでした。 aaa.txtは666ですが、 aaa.txtが格納してあるフォルダのパーミッションが 770になってます(これは訳ありで変更不可) ということは、Perlプログラムは「その他」扱い になっているのでしょうか?(なぜ?) 重ねての質問で申し訳ございませんが、 どうぞよろしくお願い致します。

関連するQ&A