• 締切済み

Windows+Apache2.2で別ユーザー実行

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

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

みんなの回答

  • mtnmso1
  • ベストアンサー率100% (1/1)
回答No.1

[.htaccess]を、使うとできます。 簡単に作成したい場合は、 http://www.htaccesseditor.com/#a_access から 自分でつくる場合は、 http://htaccess.pasoa.com/ から、お願いします。

titokani
質問者

補足

ご回答ありがとうございます。 .htaccessだけでは、CGIの実行ユーザーの指定は出来ないと思っていたのですが、どのようにすればよいのでしょうか?

関連するQ&A

  • ユーザーディレクトリで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エラーが出てしまいました。 どなたか、原因及び解決法をご存じの方、ご教授いただければ幸いです。

  • apacheユーザの実行権限設定はどうすれば良い?

    ■環境 ・Cent OS ■状況 ・所有者hogeのディレクトリxに対して、スクリプト経由(apacheユーザ権限)でchmodしようとすると、エラーになります ・スクリプト経由(apacheユーザ権限)でディレクトリ作成しようとしても、エラーになります ■質問 ・どうすれば良いでしょうか? ・所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか? ・ディレクトリ所有者がhogeであることが問題? apache所有にした方が良い? ・それとも、スクリプト実行を、apacheユーザ権限ではなく、所有者hogeにした方が良い? どうやって? ・そもそもapacheユーザ権限は、一般的にどう設定するものなのでしょうか? rootみたいに最強にする?

  • 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というものは、ユーザーディレクトリのみに適応されるものなのでしょうか? ご存知の方いらっしゃいましたら、アドバイス等を宜しくお願いします。

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

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

  • WEBサーバーのapacheの設定について

    WEBサーバーをたてていますがつまってしまい困っています。 困っているのは、apache2.2系のルートディレクトリでディレクトリを指定するのではなく、プログラムファイルを指定できないことです。 つまりweb上からあるディレクトリの中の複数のファイルに直接アクセスするのではなく、必ずあるCGIファイルを通して間接的にアクセスしたいのです。 apache2.2におけるその方法がわからなくて困っています。 本当に困っています。 誰かご教授下さい。

  • Apache2実行ユーザでLinuxディレクトリへのアクセス制御をするには?

    Apache2・Tomcatを使用したWebアプリケーションよりLinuxOS(CentOS4.4)内の特定のディレクトリのファイル一覧を取得また特定ユーザにのみそのディレクトリ内へのファイルの書込みを許可するというようなアプリケーションを作成中です。またこのアプリケーションのユーザ以外は上記ディレクトリへのアクセス許可を与えないようにしたいと思っています。そこでApache2の実行ユーザと同ユーザによってLinuxOS内の該当ディレクトリにパーミッションを設定すれば実現できるのではと思い自分なりに設定してみたのですがうまくいきません。 クライアントとしてブラウザからApache2に接続したPCはLinux上ではApache2の実行ユーザとして認識されないのでしょうか? Apache2の実行ユーザはhttpd.confのUser nobody Group nobodyとなっているところを任意のユーザに変更しました。 User apa01 Group apa01(ここではapa01とします)Linux内にも同名のユーザ・グループを追加します。 LinuxOSのユーザはapa01(上記)とlxuserの2人がいるとします。 該当ディレクトリのパーミッションは d rwxr-x--- apa01 apa01 該当ディレクトリ名 とします。 これによりapa01と認識されている?と思われるwebアプリケーションのクライアントPCからは該当ディレクトり内のファイルを取得できました。ここでパーミッションをd rwxr-x--- lxuser lxuserと変更します。すると思惑ではWebアプリケーションのクライアントからはファイルの一覧が取得できなくなるはずでしたがしっかり取得してしまいます。ひょっとして・・と思いApache2のhttpd.confのUser Groupを変更してもしっかり取得してしまいます。 なにか考えが根本的に違っているのでしょうか? 長々と書きましたがもっと違う方法があるようでしたら是非ともご教授願えませんでしょうか?よろしくお願いいたします。

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

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

    • ベストアンサー
    • PHP
  • apache2でユーザーディレクトリが

    apache2でユーザーディレクトリを使いたいんですが ただのapacheではデフォルトでユーザーディレクトリがつかえるんですが 403でパーミッションを直して使えて apache2でいろいろ apache2.confなどにuserdir.cなどのモジュールを読み込ませたり sites-avalias/defaultに /home/*/public_htmlなど試してみたいんですが ダメみたいです ちょっと省略していますが ちなみにバージョンはApache/2.2.3です エラーは http://xxxxx/~ユーザー名 にアクセスすると 403ではなく404エラー フォルダが無いということは sites-avalias/defaultかapache2.confの設定がおかしいんでしょうか? ちゃんと /home/xxxx/public_htmlも作ってありますし パーミッションもあっています しかし <Directory /home/xxx/public_html>などの設定をしたいんですが sites-avalis/defaultに書くのか それともapache2.confに書くのかまぎらわしくて defaultのほうには<Directory /var/www>など書いてあって apache2.confにはmoduleなどいろいろ書いてあります apache2がhttpd.confではなくてまぎらわしくてよくわかりません それとバージョンなど古かったりなど違ったりして できないみたいです Apache/2.2.3でユーザーディレクトリを使っているかた 詳しく教えて下さいお願いします

  • apacheのScriptAliasの記述について

    どなたか,ご教授いただければ幸いです。 WindowsXp Proでapacheを動かしています。次の設定で,cgiはうまく動作していました。 --- <IfModule alias_module> ScriptAlias /cgi-bin/ \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\" </IfModule> <Directory \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin\"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jpg </Directory> --- これに, http://www.miloweb.net/win/server/apache.html を参考にして,各ユーザーフォルダでcgiが実行できるようにしようと,次のようにしました。 --- <IfModule alias_module> ScriptAlias /cgi-bin/ \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\" ScriptAlias /cgi/ \"C:/www/users/*/cgi/\" </IfModule> <Directory \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin\"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jpg </Directory> <IfModule mod_userdir.c> UserDir \"C:/www/users/*/\" </IfModule> <Directory \"C:/www/users/*/cgi/\"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jp </Directory> --- その結果, http://localhost/~user/ としてuserのホームページにアクセスできるようになったのですが, cgiについては, http://localhost/~user/cgi/・・・ としてもアクセスできません。どなたか原因をご教授いただけないでしょうか。 ScriptAlias /cgi-bin/ \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\" ScriptAlias /cgi/ \"C:/www/users/*/cgi/\" の行を入れ替えると,\"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\"においてあるcgiが実行できなくなります。ScriptAliasは1行目しか有効でないようにも見えるのですが,上に書いた参考URLではできているようなので,戸惑っています。

  • Apacheの実行権限について

    Apacheがユーザーディレクトリに、ディレクトリを作成したり画像を(アップロードして)作成したりする場合、以下のように設定していますができません。 httpd(子プロセス)の実行ユーザー/グループはそれぞれapacheです。 親プロセスはrootになっています。 以下のディレクトリは次のようになっています。 (ドキュメントルートはwordpressです) /var/www/html/projectName/wordpress/wp-content/uploads drwxrwxr-x(775) owner=yamada group=apache このように、group(apache)に書き込み権限を与えているのですが、uploads以下にディレクトリやファイルの作成ができません。このディレクトリのownerをapacheにするとできるようになります。 apacheユーザーはapacheグループに属しているので、書き込み権限(w)をもってディレクトリの作成やファイルの作成ができるはず、という認識だったのですがなぜかできません。私の認識が間違っているのでしょうか。

専門家に質問してみよう