2012-07-20 29 views
0

我需要製作「sandbox」來運行腳本和應用程序(PHP,Perl,exe文件,Ruby等)。但是解釋器需要可以運行,並且只有一個文件夾可以被更改。此外,允許應用程序在硬盤驅動器上啓動配額將非常好。我需要在這種情況下使用什麼?如何創建只能訪問一個給定文件夾的用戶?

我需要在C#

+0

開箱即用Windows安全和配額? – 2012-07-20 10:06:40

+0

有人編輯我的標籤...我需要C#中的解決方案。我需要使用什麼? – Alexus 2012-07-20 10:24:10

回答

2

解決方案你可以只安裝Windows的安全性,讓這一點,選擇文件夾,你希望用戶能夠訪問它,並設置權限(點擊右鍵,屬性,安全性)。這種方法的問題是如果你不想讓用戶使用它們(即每個人和用戶都可以訪問),你需要找到所有其他文件夾並撤銷對它們的訪問。

另外可以看看WinJail包,它可以根據您的需要來做。 (CHROOT/JAIL適用於窗戶)。

+0

那麼......對嗎?我需要迭代所有驅動器上的所有文件夾和子文件夾和文件,以拒絕用戶訪問。拒絕訪問除某些C:\ apptemps \文件夾以外的所有根文件夾是不夠的? – Alexus 2012-07-20 10:23:13

+0

不要怕,因爲它是一個ACL,如果你允許用戶訪問一個子目錄,他們可以訪問該子目錄。 – 2012-07-20 10:46:31

0

您可能需要創建某種虛擬驅動器。 看看這個 creating virtual hard Drive 和CSHARP庫虛擬光驅玩 http://dokan-dev.net/en/ 希望這有助於

+0

這對於一個應用程序來說會很棒,但我會一次啓動大約400個應用程序,虛擬驅動器不是很好的解決方案。我需要有FAST解決方案。可能是用於C#應用程序的API的微型內核驅動程序?這將是理想的,因爲我不需要創建用戶。我將根據進程ID標識應用我自己的策略。 – Alexus 2012-07-20 10:40:14

0

可以在所有文件操作設置一個文件系統過濾器和控制他們這樣,但如此廣泛的過濾器將放緩操作顯著特別是如果在用戶模式下進行檢查(通過回調)。你可以測試我們的CallbackFilter產品,它可以讓你在C#中完成上述操作,但是可以爲緩慢做好準備。

相關問題