UNIX(SUN,Solaris2.4)の環境下でcgiよりsendmailコマンドでメール
を送信するようなプログラムを作成しています。

メール送信をした場合、そのデーモン(プロセス)がnobodyのユーザで
実行されているのですが、このユーザをnobodyではなくrootや違うユーザ
などで送信プロセスを発行することは出来ないのでしょうか?

A 回答 (2件)

質問の意図がイマイチわからないのですが.


nobody のプロセスで動くと何か都合が悪いのですか??

一番、手っ取り早い解決方法は(あまりお薦めしませんが)
 cgi のパーミッションに suid ビットを立てる
方法があります.

WWW サーバそのもののプロセスを nobody 以外の
ユーザの権限で動くようにすれば cgi もサーバの
ユーザで動くと思いますが...
    • good
    • 0
この回答へのお礼

nobodyで動作させたくないのは実はメールサーバ側で外部ドメインに発信できる
ユーザを制限しているので、できればnobodyは避けたいという理由です。

色々と試した結果、

http://ユーザ名@xxx.co.jp/sendmail.html

という形でページを表示してcgiをactionされると出来そうなことが
分かりました。

ありがとうございました。

お礼日時:2001/02/15 08:44

 CGIの実行は基本的に nobody ユーザーで行われます。

これは、「CGIを実行しているのはホームページの閲覧者」であるためです。
 よってユーザー名を別のユーザーにするには、CGIから別のユーザーに化ける必要があります。
 やったことはないですが、おそらくは su コマンドを使えばできるはずです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

でも、cgi内ではsuコマンドは使えないと思います。

お礼日時:2001/02/15 08:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ