• 締切済み

CGI実行時の権限について

初歩的な質問ですが、教えて下さい。 Redhat 8.0で過去質問のNo.496077にあるようなディレクトリ操作プログラムを作成したのですが、実行すると該当ディレクトリへのアクセス権がない。ということでエラーになってしまいます。 CGI実行時の権限は、何の設定(権限)に左右されるのでしょうか?御指南お願いします。

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

みんなの回答

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

CGIを処理するプロセスの権限で動作すると思いますよ。

MRjoker
質問者

補足

回答ありがとうございます。もうちょっと詳しく教えて欲しいのですが、別クライアントのブラウザからWebベースでこのCGIを動作させた場合には、Webサーバ(apache使用)の権限で動くということですか?それともCGIスクリプトのオーナー権限で動くのでしょうか?

関連するQ&A

  • CGIの実行権限(ディスク容量チェック)について

    Perl初心者です。現在、ユーザのホームディレクトリのディスク容量を Webでチェックできるcgiを作成しています。 my (~,$home,~)= getpwnam($user); でユーザのホームディレクトリを取得して、 use File::Find で容量を計算するところまではなんとか動くようになったのですが、ユ ーザのホームディレクトリのパーミッションによっては、計算できない ことがわかりました。 ホームディレクトリのパーミッションが、dwrx--x--x(711)だと計算で きないのです。dwrxr-xr-x(755)なら計算できます。ほとんどのユーザ が711なので全く意味がありません。 調べてみると、作成したCGIの権限がnobodyであることがわかりました がここで行き詰まってしまいました。 現在ログインしているユーザの権限でCGIを実行させる方法がありまし たらお教えください。できれば、CGIの組み方で回避できれば嬉しいの ですが、環境やパーミッションを変更しないといけないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • CGIの実行

    CGIを実行しようとしたら、下記のようなメッセージが出てしまいました。このDirectoryではダメって事なのでしょうか。 Options ExecCGI is off in this directory: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/ruby.cgi CGIってCgi-Binの下って決まっているのでしょうか? どなたかご存知であれば教えてください。

    • 締切済み
    • CGI
  • CGIの実行ができません

    はじめまして。 現在、出欠表を作るためにperlを勉強しているのですが、 フォームの作り方を勉強しようと、本を参考に掲示板のプログラムを作った(写した?)のですが、 サーバーにupしても実行できず悩んでいます。 文法はpcheck.cgiというものを使って間違いないとでており、 権限も755にしているのでできないことは無いと思いますが、 なぜか500エラーがでてしまいます。 そのソースには他に使うファイルとして、log.txtというのがあるんですが、 自動生成されるのか分からなかったので、同一ディレクトリに つくり、666にしております。 考えられる原因はあるのでしょうか? 教えていただけたら幸いです。 必要でしたら、ソースを49にupしようと思います。

    • ベストアンサー
    • Perl
  • ActivePerlでCGIが動きません

    W2KSV+IIS5.0+ActivePerl V5.8.4にて CGIを稼動させようとしています。 ネットを散々彷徨いいろいろ試しましたが 下記のエラーがでてどうしてもうまくいきません。 ----------------- HTTP 403.1 アクセスは許可されていません: 実行アクセスは許可されていません。 プログラムの実行が許可されていないディレクトリから、CGI、ISAPI、またはその他の実行可能プログラムを実行しようとしました。 ----------------- アクセス権の設定などもしたつもりですが どうしても解消できません どうか宜しくお願いします。

  • パーミッションについて(読取権限と実行権限の違い

    最近、独学でUNIXの勉強をしています。 そこで 「パーミッション」について質問です。 r=読み取り権限 w=書き込み権限 x=実行権限 と、ありますが。。。 「読み取り権限」と「実行権限」ってどう違うのでしょう?? 考えれば考えるほど、同じようにしか思えません。 初歩的な質問で申し訳ありませんが、ご教授下さい。 お願いします。

  • perl(CGI)から作成したディレクトリがFTPで消せないのはなぜ?

    HTMLページからそのCGIを叩くと『年月』の名前のディレクトリを作って、 その中に日毎のアクセスログファイルを作成するCGIを作っています。 ディレクトリを作成するパールは以下です。 mkdir($dir, 0777); しかし実行すると$dirのパーミッションは755になってしまいます、 その中に作成されるファイルは正常に作成されるのですが、 そのディレクトリ/ファイル共にFTPから削除/パーミッションの変更が 出来なくなってしまいます。 telnetから入って削除しようとしても普通のユーザー権限では無理で 削除する為にはルートにならなければなりません。 なぜでしょう?FTPから操作できる権限のディレクトリを作る方法が あるのでしょうか? バカな質問だと思いますが分かる方がいらっしゃいましたら教えて下さい。

    • ベストアンサー
    • Perl
  • ホームページからCGIプログラムの実行

    自宅で、linux+apache2の環境です。 apacheで HTML本体のルートディレクトリは:  DocumentRoot->/home/www/ CGI実行可能のディレクトリは: ScriptAlias /cgi-bin/ -> /home/CGI/ と設定されています。  質問は、/home/www/index.htmlに /home/CGI/test.cgiを実行したいとき、どう宣言すれば よいでしょうか。  できれば、LAN外も、LAN中でも使えるために、相対バスを使いたいです。

    • ベストアンサー
    • CGI
  • CGIが上手く動作しません!

    大学のサーバーを使っているのですが、FTTPが使えなくなり、WinSCPでアップロードしているのですが、掲示板を設置しようとしてCGIを使おうとして CGI プログラムをスクリプトで組む場合には,以下のインタプリタを利用して下さい. /bin/sh /usr/bin/perl (version 5.6.0) もきちんと守ってやってみたのですが出来ません。どうすればいいのですか?何処に.cgiを置けばいいのですか? また、次の文の意味が分からないのですが、cgi-binというディレクトリを津kる必要があるのでしょうか?手順を教えてください。 CGI を ~/public_html/cgi-bin ディレクトリ以下に hogehoge.cgi, hogehoge.pl (hogehoge は任意の文字列)のいずれかの名前を付けて置く事によって,“.htaccess”ファイルを用意しなくても CGI を実行できます. (実行権限は必要です)

    • ベストアンサー
    • CGI
  • NFS経由ではcgiの実行はできない?

    NFS経由ではcgiの実行はできない? NFSでマウントしたディレクトリへのアクセス(具体的にはcgiの実行)を試しています。 host1とhost2(両方とも、OSはCentOS5)を作っており、 host1に/home/cgi/sample.cgiがあり、/etc/exportsでhost2に対してexportしています。 host2にはApacheがインストールされています。 host2でhost1の/home/cgiを/www/cgiとしてマウントしています。 host2で、httpd.confには ScriptAlias /cgi-bin/ /www/cgi/ と記述しています。そして、 http://localhost/cgi-bin/sample.cgi とすると、うまくcgiが実行されません。 一方、host1でApacheをインストールして同様の設定を施して、 http://localhost/cgi-bin/sample.cgi を実行しましたらうまくcgiが実行できました。 NFSでマウントしたcgiなどのスクリプトなどは実行できないものなのでしょうか?

  • ユーザーディレクトリでCGIの実行ができない。

    環境 FedoraCore2 Apache で、ルートディレクトリでCGIの実行が可能であるのに、ユーザーディレクトリに設置したCGIは500エラーを起こして実行できません。 ブラウザを通してアクセスすると500が出ますが、ユーザーでコマンドラインからCGIを実行すると正常に結果を返します。 なお、コマンドラインでCGIを実行した場合にはログは残りませんが、ブラウザでアクセスした場合、以下のログファイルにログが記録されていました。 error_log [Tue May 16 08:49:21 2006] [error] [client 192.168.11.2] Premature end of script headers: test.cgi suexec.log [2006-05-16 08:49:21]: uid: (503/test) gid: (503/503) cmd: test.cgi [2006-05-16 08:49:21]: cannot get docroot information (/home/test) ちなみに、ネットで見つけた#!/usr/bin/perlの後ろに--を付加する方法では同様の500エラーが出てしまいました。 どなたか、原因及び解決法をご存じの方、ご教授いただければ幸いです。

専門家に質問してみよう