イントラネット(Windows ドメイン)内に「すぐ使えるCMS」を設置し複数の方がアクセスする場合は、下記のいずれかの方法で CGI 実行ユーザを統一して下さい。
設定が必要な環境
以下の両方に当てはまる場合は設定が必要です。
・イントラネットの Windows ドメイン内ホストに「すぐ使えるCMS」を設置する
・Webサーバが IIS ( Internet Information Server )
必要な設定
「すぐ使えるCMS」の書き出しディレクトリ( data/、webdir/、tempfiles/ )には書込み許可が必要ですのでまずその設定を行い、さらに、以下のいずれかの設定をして下さい。
選択肢1.Windows 統合認証の利用をやめる
IISのディレクトリのプロパティ画面では、複数の認証方式が使えます。
初期設定では「Windows 統合認証」(または「Windows NT チャレンジ/レスポンス 認証」)と「匿名アクセス」(「インターネット インフォメーションサービスへ匿名アクセスするためのビルトイン アカウント」)の両方にチェックが入っていますので、「Windows 統合認証」のチェックをはずして下さい。
この設定にすると、イントラネットでそのホストにアクセスできる全ての方が管理画面にアクセスできます。
選択肢2.基本認証を利用する
まず、CGIアクセス用のローカルユーザを作成し、書き出しディレクトリ( data/、webdir/、tempfiles/ )対してそのユーザの書込み権限がある事を確認して下さい。
次に、IIS のディレクトリプロパティで「Windows 統合認証」(または「Windows NT チャレンジ/レスポンス 認証」)と「匿名アクセス」(「インターネット インフォメーションサービスへ匿名アクセスするためのビルトイン アカウント」)のチェックを両方外し、「基本認証」にチェックを入れて下さい。
CGIにアクセスすると認証ダイアログが表示されますので、作成したローカルユーザ名とパスワードでアクセスして下さい。
この設定にすると、イントラネット内でユーザ名とパスワードをご存じの方のみが管理画面にアクセスできます。
詳細説明
IIS の場合、CGI の実行ユーザの設定は 「IUSR_****」によるアクセスとみなされる「匿名アクセス」の他、「Windows 統合認証」(「Windows NT チャレンジ/レスポンス 認証」)も並行して行う設定になっており、どちらも使える場合、後者が優先されます。
また、書き出されるファイルは CGI にアクセスした時のユーザの所有となります。
イントラネットからは Windows ドメインにログオンしている状態で CGI にアクセスしますので、CGI が作成するファイル(「すぐ使えるCMS」の場合は記事ファイルやアップロードしたファイルなど)は、IIS の設定が初期設定のままでは作業中のマシンにログオンしているドメインユーザのものとなります。
このため、これを後で他のユーザが CGI にアクセスして変更しようとすると、パーミッションの問題で変更できないという問題が生じます。
書き出すファイルを保存するディレクトリの設定で「Everyone」にフルコントロールを与えている場合でも、これはホストに直接ログインしているユーザに対する権限設定となりますので、ネットワーク経由のユーザは別口で解釈されエラーが起こります。