- PR -

IISでユーザ毎の領域を作成してCGIを利用したい

1
投稿者投稿内容
Yoko
会議室デビュー日: 2006/08/18
投稿数: 3
投稿日時: 2006-09-22 12:06
一般プロバイダのように、各ユーザ毎にFTPを使いデータをアップしたいと思っています。
FTPではユーザ分離モードなるものがあり、アップロードがユーザ毎に出来るとのことですが、これにCGIが絡んでくるとどうしてよいかわかりません。

[ルートフォルダ]
|
|--User1
| |--cgi-bin
|
|--User2
| |--cgi-bin
|

のようにした場合、[ルートフォルダ]/%username%/cgi-binのフォルダのみ実行可能という設定はできませんか?(ユーザはどんどん増えていくので、個別設定は不可能です。)

当方Apacheでもこのような事をしたことがないので
的外れな質問かもしれませんが、よろしくお願いします。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-09-22 14:42
こんにちは。

ユーザがどんどん増えるのならスクリプトで仮想ディレクトリを作成すると便利です。
IIS WMI Provider を使うとスクリプトから色々な設定ができます。
コード例は Creating Sites and Virtual Directories, and Setting Properties Using WMI に載っています。

IIS 6.0 のコマンド ライン スクリプトを使用して Web サイトと Web 仮想ディレクトリを管理する方法 にあるように iisvdir.vbs: IIS 仮想ディレクトリ スクリプト を使う方法もありますが、このスクリプトでは細かい設定ができません。

引用:

[ルートフォルダ]/%username%/cgi-binのフォルダのみ実行可能という設定はできませんか?


[実行アクセス許可]はディレクトリの新規作成時に親ディレクトリのそれを継承することになるので、ルートフォルダの[実行アクセス許可]を[なし]に設定しておきます。
この作業をしておくとユーザが自前のディレクトリを作成したときにスクリプトの実行許可を与えずに済みます。

cgi-bin ディレクトリにだけは[スクリプトのみ]の[実行アクセス許可]を与えたいので、WMI を使って cgi-bin ディレクトリを作成する際に IIsWebVirtualDirSetting クラスの AccessScript プロパティを true にします。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
1

スキルアップ/キャリアアップ(JOB@IT)