>ここで質問なのですが、一般ユーザにroot権限を要するスクリプト >の実行させる事はセキュリティ的に問題が無いのか?という事です。 フォローがないようなので。。。 答えを先に言うと、細心の注意を払ってですら問題は起こり得ます。 CGIを利用する際、なぜ多くの場合nobodyなどの「ログインすらできず他のど のユーザとも同じグループに属していない」ユーザ権限でスクリプトを実行さ せるかを考えてみるとよいでしょう。 nobody権限ですら、書きようによってはセキュリティ・ホールになりうるCGI 上で、root権限でスクリプトを実行させるのはかなりの覚悟を必要とします。 非常に個人的な意見として聞いて欲しいのですが、セキュリティ的にどういう 問題があってどういう問題がないのか分からない状況ではroot権限で走らせる CGIスクリプトの導入は見送った方が良いと私は思います。 perlに限って言えば、setuidされた(あるいはperl5 -Tで起動された)スクリプ トに対しての汚染チェック機能が付いていますが、これは補助的な役割を果た すものでセキュリティの強度はプログラマに依存しますし、Perl自体に潜在的 なセキュリティ・ホールを持っているバージョンも知られています。以下参照。 http://www.cert.org/advisories/CA-96.12.suidperl_vul.html http://www.cert.org/advisories/CA-97.17.sperl.html Cはどうかと言うと、一般にはCの方がPerlよりもMemory Over Runなどのバグ 混入の可能性が高くセキュリティ・ホールを生みやすいと言われています。 以下も参考までに。Webサーバーを作ってる人たちですら、セキュリティ・ホー ルを作ってしまう事があるのです。しかもサンプル程度のプログラムで。 http://www.cert.org/advisories/CA-96.06.cgi_example_code.html http://www.cert.org/advisories/CA-97.07.nph-test-cgi_script.html http://www.cert.org/advisories/CA-97.25.CGI_metachar.html 以下はWWWセキュリティFAQより。 <ftp://ftp.dti.ad.jp/pub/lang/CPAN/doc/FAQs/cgi/wwwsf2.html#Q11> > This is a whopping security hole because every CGI script that gets > launched with root permissions will have access to every nook and > cranny in your system. (以下簡単な訳) これ(CGIスクリプトをroot権限で走らせること)は、すべてのroot権限を持っ たCGIスクリプトが、システムの隅の隅っこまでアクセスできるということで あり、とてつもないセキュリティホールです。