• Japanese

CGI/SSIのユーザ権限での実行

CGI/SSIのユーザ権限での実行

  • 個人ホームページ用Webサーバでは CGI/SSI はユーザ権限で実行されます。

注意事項

  1. CGI/SSIはファイルのオーナ以外が書けるようになっていてはいけません。またCGI/SSIが格納されているディレクトリも同様です。
  2. HTMLファイル内で CGI を呼び出す場合、絶対パスの使用やディレクトリをさかのぼっての呼び出しはできません。
    × <!--#EXEC CGI="../counter.cgi"-->
    ×<!--#EXEC CGI="/home/hoge/public_html/cgi-bin/counter.cgi-->
    <!--#EXEC CGI="cgi-bin/counter.cgi"-->
    <!--#EXEC CGI="counter.cgi"-->
  3. 以前のWWWサーバ上で動作したCGIが作ったファイルやディレクトリのうち所有者が nobodyのものは読み書きできない可能性があります。
    • 所有者がnobodyのファイルやディレクトリがあるかどうかを調べる方法
      % cd ~/public_html
      % find . -user nobody -ls
      所有者がnobodyのファイルやディレクトリがあれば、ls -l を実行した時と同様の書式で列挙されます。

    • 所有者がnobodyのファイルがあった場合の対処法
      nobodyのファイルは削除することはできても、自分を所有者にする事はできないなので、以下のような操作で自分が所有者のファイルにします。

      file という名前のファイルの所有者がnobodyだった場合の例:
      % cp file file.copy
      % rm file (!!削除する前にコピーが成功していることを確認する事!!)
      % mv file.copy file

    • 所有者がnobodyのディレクトリがあった場合の対処法
      所有者が nobody のディレクトリは、自分で削除したり自分を所有者にすることはできません。湘南藤沢インフォメーションテクノロジーセンターにて所有者変更の処理をいたしますので、 cns-request@sfc.keio.ac.jp までお問い合わせください。

最終更新日: 2011年6月16日

内容はここまでです。