????????????????????¨????°???¨??§????????°???????¨??????¬???????????°?????±??????????????§??????
CGI下のファイルにアクセスできない |
|
- ????????? 2007/04/04 17:12
- ????????? えん
-
?不明点・障害内容:
CGIディレクトリ下においたプログラムで、ファイルを開いたり書いたりといったことができません。 具体的には、C言語でファイルをオープンするプログラム(下記参照)を書きました。 そして、エラーならメッセージHTMLを出すようにしています。 しかし、http://server/cgi-bin/test.cgiにアクセスすると、 File Not Open !!! と表示されてしまいます。コンソールで直接a.outを実行しても同じです。 test.datは同ディレクトリに存在します。 test.datがあるディレクトリのパーミッションは、755で、test.datは666としています。
ちなみに、test.dat を/var/www/html/の下に置いて、プログラムもそれに合わせてパスを書き直し、 コンソールからa.outを実行するとファイルオープンできます。 どうすれば、CGIディレクトリ下のまま、test.datにアクセスできるようになるのでしょうか?
#include <stdio.h> int main() { FILE *fp;
fp=fopen("test.dat","r"); if(fp==NULL){ puts("Content-type: text/html\n\n"); puts("<html>"); puts("<body>"); puts("File Not Open !!!"); puts("</body>"); puts("</html>"); } else{ fclose(fp); } return 0; }
?Distribution : Version:CENTOS 4.4 + SELINUX + FireWall ?Service Name :Apache 2 Version:
|
■ コンテンツ関連情報
Re: CGI下のファイルにアクセスできない ( No.1 ) |
|
- ????????? 2007/04/04 18:45
- ????????? えん
-
SELINUXを停止させると、アクセスできるようになりました。
セキュリティー向上のためなのだと思います。
そこで、SELINUXを停止させずに、SELINUXの設定を変えて、 cgi-bin以下に対してもファイルアクセスできるようにするには、 どうすればよいでしょうか?
また、cgi-binディレクトリ下にファイルアクセスできるようにしておくことは、危険なのでしょうか? SELINUXが動作していない環境では、一般的にはアクセスできるわけですよね?
|
Re: CGI下のファイルにアクセスできない ( No.2 ) |
|
- ????????? 2007/04/04 21:30
- ????????? 管理者
-
SElinuxは殆どの方がネックとなっている問題ですね。
(当方もその一人です。従って、SElinuxは無効にしています。)
概要についてはご存知かも知れませんがSElinuxは機能の一部として、ポリシに従っていない物は排除するという物です。 当方は皆無に近い知識しかありませんが、SELinuxのポリシーに基づいたラベル付を行わなければ今回の様に実行が出来ません。
どの様にポリシを作成しラベル付けをするかは分かりませんが「SElinux ラベル付け」等で検索すれば多々検索出来るのでご覧になって見てください。
|
■ その他