• 締切済み

php or shellでのユーザ変更について

phpからShellを呼び出すプログラムを作っています。 OSはApacheを使用しているので、 phpを起動した際「Apache」というユーザになっているようなのですが、 shell起動時に別のユーザに変更をしたいと思っています。 パスワードをshellの中に記述して、うまくユーザ変更をしたいのですがうまくいきません。 phpもしくは、shell内で、ユーザ変更を行なうにはどのようにすればよいでしょうか? もしくは、Apacheユーザのパスワードが分かれば、別の方法で回避できそうなのですが、ご存知の方はいますでしょうか? 大変困っているので、よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数3

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

system系の関数でsudoを使って呼び出してみては いかがですか?

関連するQ&A

  • sshへのログインをshell内に記述したい

    shellファイル内でrsyncとsshを使用したファイル同期を実現しようとしています。 同一サーバ内では問題なくできることを確認したのですが、 サーバ間でやり取りをしようとすると、sshのパスワード入力が必要になります。 このパスワード入力をshellファイル内にパスワードを記述することで 回避したいと考えているのですが、それは実現できるのでしょうか? その場合、shellファイル内にどのような記述をすればよいのでしょうか? とても困っています。ご存知の方がいましたら教えてください。 OSはLinuxを使用しています。 また、sshを使用しているコマンドはこんな感じです。 rsync -av -e ssh /var/www/html/***/ ホスト名:/var/www/html/***/

  • PHPを使って別のサーバのユーザの管理

    PHPを使用して別のサーバ上のユーザの追加・削除・パスワードの変更などを行いたいのですが、何かヒントでもよろしいのでご回答よろしくお願いいたします。 OS:FedoraCore3 PHP:4.3

    • 締切済み
    • PHP
  • ユーザー設定について困っています。

    apacheのwww-dataユーザにパスワードを設定したらPHPが動かなくなりました。 どこを設定したらいいのかさっぱりです。 パスワードが保存されているファイルを元に戻しましたが駄目です。 環境 OS Debian,Apache2,PHP5

    • ベストアンサー
    • PHP
  • PHP4スクリプトはSYSTEMユーザで動かない?

    WindowsサーバにApache2があり、PHPで Webアプリケーションを稼動させています。 サーバにはExcelがインストールされてい ます。OLEによりWebアプリからブックを 作成します。 しかし、対象データが多いとタイムアウトに なるため、Cでプログラムを作り、複数の プロセスを同時に走らせて効率化を図り ました。このプログラムをコマンドプロンプト から実行すると、狙い通りに動作し、速度は 改善されました。しかし、これをWebアプリの system関数で実行すると、何もせず即座に 終了します。Cプログラムでログを取って、 調べたところ、CreateProcessは成功して いますが、PHP.exeが起動後即死している ようです。Apacheのアカウントはユーザとの インタフェースを持たないためかと思い、 Cプログラムでユーザを偽装して起動して みました。しかし、PHP.exeはAdministrator アカウントで起動されるのですが、やはり 起動後の即死は相変わらずです。 これをPHP5のPHP.exeで実行すると正常に 動作しました。但し、実際に稼動する環境で PHP5が入る保証はありません。 PHP4では解決できないとなれば、掛け合う 余地はありますが、ダメという論拠が必要に なります。 WebアプリからPHPスクリプトを実行する方法 あるいは実行できない理由をご存知の方は ご教授くださると有り難く存じます。

    • ベストアンサー
    • PHP
  • PHPで、UNIX上のユーザパスワード変更

    PHP3を用いて、クライアント(Webブラウザ)から サーバ(Linux:RedHat6.2J)上のあるユーザのパスワード変更を したいと考えています。 パスワードはroot権限がないと変更できないと思うのですが、 PHPでどうにかできないでしょうか。

  • phpをshellから起動する際に引数を渡したい

    cronを使用してphpを起動するのですが、その際に引数を渡したいです。 webでアクセスする際は http://www.example.com/index.php?a=b とすることで $_GET['a'] に 「b」という値が入りますが、 これをshellで作成したいのです。 どなたかご存知の方教えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • Postfix(Fedora)へのユーザー追加、パスワード変更

    最近、自宅に Fedora CORE2 Apache PHP MySQL PostFIX という環境を構築して勉強を始めたものですが、 PHPから、POSTFIXのユーザーアカウントを追加したり、 パスワードを変更したりするスクリプトはどのように書くのが 一般的なのでしょうか? 別に、cgiを作成するのが良いのか、PHPから直接 コマンドを叩いたり、ファイルを書き換えたりするのが 良いのか、どなたかご教授してもらえませんでしょうか? また、参考にできるサンプルソースなどがある場所を ご存知の方はお願いします。 googleなどを使って検索してみましたが、今ひとつ解が わかりません。 よろしくお願いします。 dev14

    • 締切済み
    • PHP
  • Windows7 64bit版でphp起動できない

    Windows7 64bit版でphpが起動できず困っています。 Phpはphp-5.3.5-nts-Win32-VC6-x86.zipをインストールしました。 Apacheを起動して、Is works!を確認。 httpd.confの修正を下記をしました。 LoadModule php5_module "c:\Program Files (x86)\PHP5\php5apache.dll" PHPiniDir "c:\Program Files (x86)\PHP5" 32bit版では、php5apache2_2.dllの記述でしたが、ないのでphp5apache.dll を記述したのですが、これが間違いなのか教えて下さい 自分としてはこれが起動しない原因ではないかと思うのでうが、 よろしくお願いします。

  • PHPとOracleの接続ができない

    ApacheとPHP5.1.5とOracle 10g XEを使用しています。 PHPのプログラムで、oracleへの接続を試みていますが、 undefined function OCILogon() というエラーが表示されてしまいます。 以下、今回の状態を記述します。 ・php.iniのextension=php_oci8.dllは「;」を外してあります。 ・php.iniのextension_dirもdllがある場所に設定しています。 ・phpinfoで、ociの項目が表示されない。 ・もちろん、php.iniの場所は合っていますし、変更後はapacheの再起動も行っています。 ・プログラムはネットで拝見したPHP5用のものなので、プログラムの間違いではないと思います。 原因が分かる方がいらっしゃいましたら、回答よろしくお願いします。

    • 締切済み
    • PHP
  • PHP.iniを変更したらphpMyAdminでMySQLに接続できなくなりました。

    host,user,パスワードに関する事は変更していません。 何が原因と考えられるでしょうか? Dirの設定などすべて確認しましたがダメでした。 もう一度、PHPとMySQLをインストールしなおした方が 良いのでしょうか? それとも、apache2のconfigの設定を変更したからでしょうか? PHP Ver=4.3.2 MySQL Ver=4.0.14 どうぞ宜しくお願い致します。

    • 締切済み
    • PHP

専門家に質問してみよう