phpのプログラム経由で、UNIX内のコマンドを特定のユーザで実行させる場合の方法を教えて下さい。そのときのセキュリティ上の注意も教えていただけると助かります。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:Sumaru No.1

回答回数98ベストアンサー獲得回数0

ポイント40pt

system()で実行させるかexec()で実行させる

って所でしょうか。

必要に応じてsudoするとかですね。

どちらにしても、例えばhtmlなどのformから入力されたコマンドをそのまま実行すると大変なことになりますので、十分な注意が必要と考えます。(rm -rf /)とかされたら…

id:fm315

ありがとうございます!

webで検索しているのですが、

”setuid”,”sudo”,”system()”,”exec()”というようなキーワードが出てきます。

2004/09/21 16:11:47
id:Sumaru No.2

回答回数98ベストアンサー獲得回数0

ポイント40pt

具体的にどのようなことをなさりたいのかで、色々方法が変わってくるかと思いますが、実行するコマンドが特定のコマンドになるのなら、あらかじめ.shなりを記述しておき(sudoしてコマンドを実行するような)、PHPから実行させるとか、定期的な処理(多分違うかもしれませんが)ならcronを使うとかも有りますが

id:fm315

返答ありがとうございます!

具体的には、vpopmailの”vadduser”コマンドを実行して、web上からメールアドレスの発行ができるようにしたい、と考えています。

上記プログラムのUID:GIDは”vpopmail:vchkpw”です。

2004/09/22 15:27:44
  • id:Sumaru
    qmailadminでは

    その用途でしたらおそらくqmail+vpopmailの組み合わせなのでは?でしたらqmailadminを利用してみてはいかがでしょうか?
    cgiプログラムで設置も簡単ですし。。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません