実行ユーザー切り替え方法

このQ&Aのポイント
  • 質問者は、require関数によって特定のURLを表示するスクリプトを実行したいが、異なるユーザーで実行する方法を知りたい。
  • スクリプトの実行ユーザーを切り替える方法がわからず、403エラーが表示されている。
  • PHP4.3.2でphpinfo()のConfigureCommandには--enable-force-cgi-redirect、--enable-ftpなどのオプションが追加されている。他の方法でも目的を達成できるかどうかを教えてほしい。
回答を見る
  • ベストアンサー

実行ユーザー切り替え方法

質問させていただきます。 require関数にてあるURLを表示させるスクリプトがあります。 ======= <?php require("http://www.aaa.com/~usrname/bbb/ccc/ddd.php"); ?> ======= このphpスクリプトを上記URL内にあるusrnameとは異なるユーザー(eeee)にて実行したいのです。 上記URL(http://www.aaa.com/~usrname/bbb/ccc/ddd.php)ファイルの所有者はusrnameであり、パーミッションは777にしています。bbb及びcccディレクトリのパーミッションは755にしています。 それでも現状は上記require関数の行で403エラーが表示されます。 レンタルサーバーのため、root権限は無いのでusrnameディレクトリのパーミッションは750で変更できません。 そこでこのeeeeユーザーで実行されるスクリプトの実行ユーザーを切り替える方法が何かあれば教えていただきたいのです。 PHP4.3.2でphpinfo()のConfigureCommandにて--enable-force-cgi-redirect、--enable-ftp等追加されています。 もし他のやり方で希望どおりの動き(eeeeユーザーにて上記URLを表示させる)が出来るならそれもアドバイスいただきたいです。 よろしくお願いいたします。

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

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

http経由でrequireするなら所有者も権限も関係ないと思いますが。 ブラウザからそのURLにアクセスしたときにソースに表示される内容がそのままrequireの部分に埋め込まれるだけです。

関連するQ&A

  • 【Excel】 特定の文字でセルを分けたい

    こんにちは。 1 aaa\bbb\ccc 2 aaa\bbb\ccc\ddd 3 eeee\ffff\gggg 4 eeee\ffff\gggg\hhhh 上のようにディレクトリ表示されているA列を \で列を分けたいのです。 階層は列によって異なります。 1行目は Aにaaa Bにbbb Cにccc という形です。 どのような方法があるでしょうか。 よろしくお願いいたします。

  • エクセルで置換方法

    下のような表で数字だけ残すにはどうすれば いいでしょうか? マクロとかは難しいのでマクロは使わないで やりたいのですが aaa 100 bbb 200 ccc 300 ddd 4000 eeee 50000

  • プロシージャの実行

    ストアドプロシージャを実行させようと、プロシージャに実行権限を付与しました。(grant execute ・・・) その後実行しようとすると、 オブジェクト aaa_proc、データベース bbb、所有者 ccc について EXECUTE パーミッションが拒否されました とエラーになります。 aaa_proc は プロシージャ名。 bbbは プロシージャを書くときに use bbb と書いてるデータベースの名前。 cccは ユーザ名としてください。 他に何の権限を与えてやればいいのか、どなたかか教えてください。 宜しくおねがいします。

  • 【エクセル】空セルを埋める方法

    お世話になります。 下記のような表があります。 1行目:AAA,BBB,CCC,DDD 2行目:空セル,BBB,CCC,DDD 3行目:空セル,BBB,CCC,DDD 4行目:aaa,BBB,CCC,DDD 5行目:空セル,BBB,CCC,DDD ・・・ こんなパターンの行が結構あります。 空セル部分を下記のように埋めたいのですが 1行目:AAA,BBB,CCC,DDD 2行目:AAA,BBB,CCC,DDD 3行目:AAA,BBB,CCC,DDD 4行目:aaa,BBB,CCC,DDD 5行目:aaa,BBB,CCC,DDD てっとり早く埋める方法ありませんか? いまは、【ctrl+↓】 ⇒【↑】⇒【ctrl+D】を延々繰り返しています。 宜しくお願いいたします。

  • 正規表現で一つ目の区切り文字で区切りたいのですが・・・

    aaa/bbb/ccc/ddd aaa/bbb/ccc/ddd/eee aaa/ccc/ddd $a=~/(.*)\/(.*)/; $1はそれぞれ aaa/bbb/ccc aaa/bbb/ccc/ddd aaa/ccc と成ってしまいます。 このように 「最後の/」で分けられてしまいます。 一つ目の/で分けるにはどうしたらよいでしょうか。

    • ベストアンサー
    • Perl
  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • 文字変換で,を改行されないようにしたい

    下記のスクリプトでファイルから読み込んだ行毎の文字列<>を'=>'に変換後、行の先頭に'を付け足し行の最後に',を付け加えた場合、変な風に改行されてしまいます。 $ cat list1.txt 01<>ああああ 01_01<>あAAA 01_02<>あBBB 01_03<>あCCC 01_04<>あDDD 02<>いいいい 02_01<>いAAA 02_02<>いBBB 02_03<>いCCC 02_04<>いDDD open(IN, "<list1.txt"); @datas = <IN>; close(IN); open(OUT, ">date.txt"); foreach (@datas) { ($a, $b) = split(/<>/, $_); print OUT "'$a'=>'$b',"; } close(OUT); 実行結果 $ cat date.txt '01'=>'ああああ ','01_01'=>'あAAA ','01_02'=>'あBBB ','01_03'=>'あCCC ','01_04'=>'あDDD ','02'=>'いいいい ','02_01'=>'いAAA ','02_02'=>'いBBB ','02_03'=>'いCCC ','02_04'=>'いDDD ', これを下記のように整形するにはスクリプトのどこを直せばよいのでしょうか。 '01'=>'ああああ', '01_01'=>'あAAA', '01_02'=>'あBBB', '01_03'=>'あCCC', '01_04'=>'あDDD', '02'=>'いいいい', '02_01'=>'いAAA', '02_02'=>'いBBB', '02_03'=>'いCCC', '02_04'=>'いDDD', どなたかご教授お願い致します。(上記のスクリプト以外の方法で スマートなやり方などありましたらあわせてご教授頂けますと助かります。)

    • ベストアンサー
    • Perl
  • 正規表現

    正規表現 a=/home/aaa/bbb/ccc/ddd.abc echo ${a%.abc}実行したら /home/aaa/bbb/ccc/ddd が表示されますが、 home/aaa/bbb/ccc/ddd に表示したいですがうまくいきません。 ネットで正規表現さがしてみたけど理解できませんでした。 教えていただきたいです。なお 説明文も簡単に記入していただいたら幸いです。

  • ディレクトリをコピーするツールを作ってますけど、うまくいきません。

    ディレクトリをコピーするツールを作ってますけど、うまくいきません。 何方か教えてください! 内容:1、「~/???.tmp」というディレクトリを検索し指定ディレクトリにコピーする。    2、「~/???」というディレクトリも合わせて指定ディレクトリにコピーする。    3、 指定ディレクトリから2階層下にある「aaa」ディレクトリ直下を対象とする。    4、 コピーしたディレクトリを表示する。 使い方:./cptmpDir.sh path1 path2  [-c] 引数: path1 は対象ディレクトリ     path2 はコピー先ディレクトリ -c 指定されていればディレクトリのコピーを行う。 例え以下のようなディレクトリがあるとする。 home/ccc/bbb/aaa/abc.tmp home/ccc/bbb/aaa/abc home/ccc/bbb/aaa/cba home/ccc/bbb/aaa/ddd/efg.tmp home/ccc/bbb/aaa/ddd.tmp ./cptmpDir.sh  /home  /var/tmp [-c] を実行したら home/ccc/bbb/aaa/abc.tmp home/ccc/bbb/aaa/abc home/ccc/bbb/aaa/ddd.tmp が/var/tmpにコピーされるのが正常の働き。 私が書いたシェルは 内容1、3、4、はできたけれども 2、ができてません。 だからhome/ccc/bbb/aaa/abcがコピー対象がになっています。 以下は私が書いたシェルである。 #!/bin/ksh if [[ $# -lt 2]] then echo "usage: $0 path [-c]" exit 1 fi path2=$2 copydir=0 if [[ $3 = "-c" ]] then copydir=1 fi find $1 -maxdepth 3 -mindepth 3 -type d -name "aaa" | ¥ while read d do find $d -maxdepth 1 -mindepth 1 -type d -name "*.tmp" | ¥ while read a do if [[ $copydir -eq 1 ]] then cp -r $a $path2 echo "cp" "${a#*/}" else echo "${a#*/}" fi done done よろしくお願い致します!。 home/ccc/bbb/aaa/abcもコピーされるように!!!

  • クラスの使い方

    php5です。 --- test1.class.php --- class TEST1 { function hoge1() { // 実際に複雑な処理ですが概要として簡易化してます $aaa = 'hoge1'; // クラスの実行で単純に戻り値を返す return $aaa; } } --- test2.class.php --- class TEST2 { function hoge2() { // 実際に複雑な処理ですが概要として簡易化してます $bbb = 'hoge2'; // クラスの実行で単純に戻り値を返す return $bbb; } } --- MySmarty.class.php --- require_once 'test1.class.php'; require_once 'test2.class.php'; class MySmarty extends Smarty { function MySmarty() { //ここでclassTEST1,2の戻り値を利用しif文で分岐をしたい if ($aaa == 'hoge1') { $ccc = 'あああ'; } elee { $ccc = 'いいい'; } if ($bbb == 'hoge2') { $ddd = 'ううう'; } elee { $ddd = 'えええ'; } $this->assign('aaa', $aaa); $this->assign('bbb', $bbb); ・・・ } } このような使い方はできないものでしょうか?クラスに触れてまだ間も無く理解も深めれて いない状態で参考サイトなどを調べてみたのですがこのような使い方を書いている説明は みつかりませんでした。 思いつく方法としてはMySmartyに継承すればいいようなのですが継承は1つまでと 制限があるようでそれもできない状態です。 単純に1つのクラスにまとめて書けば済むような気もあるのですが他にも別のクラスの 戻り値を利用して分岐等をさせたく思っているのですがこの場合どうすればいいのでしょうか? もし不可能な場合(可能だけど方法的に良くない場合)の別の方法としてアドバイスを 頂けますと幸いです!宜しくお願いします!

    • 締切済み
    • PHP

専門家に質問してみよう