2011-06-25 8 views
1

私はACMソリューション(TopCoder、Timusなど)のための一般的なコンテストシステムの一種を書いています。ユーザーがWebサービスを使用してソリューションを送信すると、そのサービスを実行/コンパイルする必要があります。プロセス能力を制限する方法は?

  • :そして、私はそれらのユーザーソリューションの安全(外側のファイルへのアクセス、システム時刻を取得する能力、決してなどの作業ディレクトリを変更することはできません) そこにいる2種類を実行するために、それに制限を設定したいですコンパイルすることができる

    溶液(別名C/C++ /パスカル)、また、JIT-EDとバイトコード溶液(C#、Java(登録商標))

  • 解釈溶液(Lispの/ルビー/ Pythonの/ PHP)

ContesterシステムはC#for .NET 3.5で書かれています。 ContesterはLinuxのMonoとWindowsの.NETで動作します。

どうすればいいですか?コンパイルされたソリューション(PermissionAttributesを使用して)を制限する機能があるが、解釈されたソリューションを制限する方法がわからない。

答えて

0

非常に限られたユーザーアカウントで実行するのが最も簡単です(おそらく完全信頼が必要です)。 IIRCではゲストアカウントを使用できません。

編集:

クリーンなVMが理想的かもしれません。

関連する問題