• ベストアンサー

phpの実行ユーザーは設定できませんか。

phpの実行ユーザーは設定・変更できませんでしょうか。 CGIなら、suexec を用いて実行ユーザーを設定・変更できますが、 phpは全てhttpdサーバーのユーザーで実行されます。 他のユーザーで実行するように設定・変更できないでしょうか。

  • defd
  • お礼率19% (11/56)
  • PHP
  • 回答数2
  • ありがとう数8

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

  • ベストアンサー
  • akino4
  • ベストアンサー率18% (35/185)
回答No.2

sudoつかってみたらぁ? PHP自体にはできないけどPHPから実行するコマンドにはできるようになるし

その他の回答 (1)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

単純にCGI版のPHPを使えばいいのではないでしょうか?

defd
質問者

補足

CGI版って、モジュール版と両立できませんよね。

関連するQ&A

  • PHPプログラムを各ユーザ権限で実行させる(suEXEC)には?

    色々なCMSを試してみたくて、テスト用の自宅サーバ(外部には非公開)を構築しています。 サーバ環境はubuntu9.04+Apache2+PHP5+MySQL5で、Apacheのuserdirモジュールを有効にしています。この状態で各CMS専用のユーザを作成し、各ユーザのドキュメントルートにCMSをインストールして使っています。 具体的には・・・ xoopsユーザを作成して http://localhost/~xoops/ にXOOPSをインストール。 drupalユーザを作成して http://localhost/~drupal/ にDrupalをインストール。 ここで問題になったのは、PHPプログラムがwww-dataユーザの権限で実行されるので、自動的に生成されるファイルの所有者がwww-dataになってしまうということです。自分なりに調べて「suEXECを導入することで解決できそうだ」というところまでは解ったのですが、具体的な設定方法を見つけるには至っていません。 そこで質問なのですが、suEXECを導入することでxoopsユーザのドキュメントルート以下にあるプログラムはxoopsユーザの権限で、drupalユーザのドキュメントルート以下にあるプログラムはdrupalユーザの権限で実行されるようにするには、何をどの様に設定すれば良いのでしょうか。もしsuEXECを使う以外の方法で実現可能であれば、それでも構いません。 質問が冗長になってしまって申し訳ありませんが、サーバ構築の経験者様からのアドバイスを頂ければと思い質問させて頂きました。何卒よろしくお願い致します。

  • Apacheモジュールとしてphpをユーザー権限で

    Apacheモジュールとして、phpをユーザー権限で動かしている レンタルサーバー等が多いのですが、 これは、どのように行っているのでしょうか? #CGIであれば、suexecで十分かとは思うのですが OSはFreeBSD 10 です。 pkg ではなく、portsからのインストールになります。 よろしくお願いします。

  • Apacheサーバに接続してcgiが実行できません。

    サーバはRedHat Linux8で、クライアントはwin2000です。 表示は 「Server Error! Premature end of script headers: dekiru.cgi 」 と出ます。 過去の質問からsuexecの問題だという情報を見つけ、 /var/log/httpd/suexec.log を見てみると、 「uid: (500/XXX) gid:(500/500) cmd:yyy.cgi cannot get docroot informaiton (/home/XXX)」 という表示でした。 homeやXXX、yyy.cgiは全て755という権限でないといけないということで全て755に変更してサーバを再スタートしましたが、解決しません。 デフォルトで/var/www/cgi-bin以下に 同じyyy.cgiをおいて、 http://サーバIP/cgi-bin/yyy.cgiをブラウザでみると、 実行可能です。 メッセージからドキュメントroot情報がgetできないということですがこれ以上やるべきことが見つからず行き止まり状態です。 他に考えられる原因はありませんでしょうか? よろしくお願いします。

  • PHPをCGIとして実行する方法

    PHPをCGIとして実行する方法 現在PHP(モジュール版)にて開発を行っているのですが、 仕様上.htaccessを使用してcgi-binディレクトリ内にあるphpファイルをCGIとして 実行しなければならなくなりました。 下記の記述方法だと500エラーが発生してしまい、大変困っています。 <Directory "/usr/~(任意のcgi-binディレクトリのフルパス)~/cgi-bin"> AddType application/x-httpd-cgi .php </Directory> 因みに.htaccessはcgi-binディレクトリの1階層上に設置しています。 単に「AddType application/x-httpd-cgi .php」を記述する分には誤作動は起さないのですが、出来れば指定のディレクトリ内だけで指定したいと考えています。 もし思い当たる点がありましたら、ご教授お願い致します。 下記に環境を記しておきます。 【環境情報】 OS:FreeBSD 6.2(レンタルサーバ) PHP:5.2.4

    • ベストアンサー
    • PHP
  • 拡張子をphpではなくcgiで実行する方法

    添付つき送信フォームを、test.htmlからsend.phpを <form method="post" action="test/send.php"> で定義して実験成功しました。 このphp拡張子をcgiに変更して <form method="post" action="test/send.cgi"> ファイル名も変更しましたが、エラーになります。 ルートディレクトリ - test.html           - testフォルダ - send.cgi Apacheのhttpd.confの設定は下記サイトの 「Windows XPでPHPを動作させてみよう!」のCGIの設定です。 http://aki.adam.ne.jp/index.php 拡張子cgiで実行する手段を宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Windows+Apache2.2で別ユーザー実行

    こんにちは。 Windows2000+Apache2.2でCGIを動かしています。 CGIの言語にはActivePerlを使っています。 CGIが実行される際のファイルやディレクトリのアクセスに制限をかけたいのですが、方法がわかりません。 CGIが実行されるユーザーを指定する方法としては、suExecというのがそれっぽい感じなのですが、Windowsでの使用方法がよくわかりませんでした。これはunix系の環境でしか使えないのでしょうか? 他の方法でも構いません。最終的にアクセス制限ができれば十分です。 なにか方法はないものでしょうか?

    • 締切済み
    • CGI
  • CGI (suEXEC)について!

    CGI (suEXEC)についての質問です! OS: Red Hat Linux 7.3 httpd: Apache 1.3.28 Apacheの設定ファイル httpd.conf 内で設定してある DocumentRoot のディレクトリ内にある CGIを”パーミッション700の場合にのみ”動作するようにする方法はありますでしょうか? suEXECを使用してユーザディレクトリ内のCGIは700で動くようにできたのですが、 httpd.conf 内で設定してある DocumentRoot のディレクトリ内では700だと動かない為。 また、suEXECというものは、ユーザーディレクトリのみに適応されるものなのでしょうか? ご存知の方いらっしゃいましたら、アドバイス等を宜しくお願いします。

  • PHPでsuEXEC

    test.cgiをPHP言語で記述し、suEXECを使っているつもりなんですが、確認のためにfopen()で作成されたファイルの所有者を見たらapacheになっていました。 現在インストールされているPHPがCGIとしての動作に対応できているかを確認する方法はないですか? PerlならsuEXECが適用されています。 何をどう設定すればsuEXECとつながってくれるでしょうか? apacheとsuexecのログでは手がかりになる情報は得られませんでした。

    • 締切済み
    • CGI
  • PerlのCGIとPHPを

     特定のディレクトリのCGIの中にPHP(Apacheのモジュール版)を書き、(CGIで<?php~?>とHTMLを出力させる)Perl/CGIを実行したときにその出力の中に含まれるPHPを実行させたくて、.htaccessに AddHandler application/x-httpd-php cgi AddHandler cgi-script .cgi を書いたのですが、どうやらPHPのAddHandlerの後に書かれているCGIの方が優先され、PHPが実行されず、CGIのみが実行されます。  順序を逆に書いても、今度はPHPが優先されてしまい、どちらか片方しか実行されません。  どうすれば、両方同時に実行させられるでしょうか、教えてください。  それが不可能ならば、とりあえずPerl/CGIからPHPを呼び出して先に実行させるようなことができるのならば教えてください。  ちなみに、httpd.confには拡張子cgiをすべてのディレクトリでCGIとして実行、拡張子phpもすべてのディレクトリでPHPとして実行させるようにAddHandlerされています。 Apache/2.0.58(Windows版) PHP/5.1.6 CGI: ActivePerl 5.88 です。

    • ベストアンサー
    • PHP
  • 拡張子がhtmlでもphpスクリプト実行したい

    webサーバがApacheの、レンタルサーバーでホームページを作っております。フレームの代わりにphpのincludeを使ってメニュー等を表示しています。しかし最終的に表示されるページの拡張子がphpでないと、きちんと表示されません。拡張子がhtmlでもphpスクリプトが実行されるようにしたくて、色々調べていたのですが、それらしき方法を発見しました。 Apacheで言えばhttpd.confの AddType application/x-httpd-php .php というところを例えば AddType application/x-httpd-php .php .html にするだけで、*.phpでも*.htmlなファイルであってもそこに埋め込まれているPHPスクリプトは実行されるようになる。 …とあったのですが、何をどう加えるか、もしくは変えればいいのかサッパリです。 もっとこっちの方が簡単だ、など、詳しい方いらっしゃいましたら、どうか宜しくお願い致します。

    • ベストアンサー
    • PHP