2012-04-05 125 views
0

我有一個Web應用程序,用戶可以自行註冊它們,然後將Java和C++程序保存在其帳戶中。 程序都一樣, /tmp目錄 -user1 --program1 --program2 -user2 --program1 --program2如何爲服務器上的用戶創建虛擬環境

因此,所有的用戶文件夾都在同一個 「TMP」 保存在tmp目錄目錄。 我想知道如何通過不允許用戶訪問其他用戶的文件來證明安全性。用戶將在其文件夾中執行java或C++程序,該程序可用於讀取服務器上的文件。如何防止這一點? 我是新來的這個東西,我不知道如何去做這件事。

服務器是Linux服務器,項目在使用Django的python中。

預先感謝

+0

爲每個用戶創建單獨的tmp目錄並更新TMPDIR環境變量。 – pylover 2012-04-05 09:26:24

+0

我不認爲這將解決完全與安全相關的問題,尤其是在執行Java或C++程序期間。 用戶可以通過簡單的程序來掃描目錄之外的文件。 – rockvilla 2012-04-05 09:41:14

回答

1

你需要的東西分隔每個進程看到系統的東西。如果您使用FreeBSD,他們的Jails系統將是您完美的解決方案。

作爲Linux的備選方案,您可以考慮Linux vserver實例,或咬緊牙關並設置像Xen這樣的海沃虛擬化環境。

這兩個都是虛擬化解決方案,基本上允許您運行使用特定目錄作爲其根目錄的虛擬服務器實例。進程在與主機系統相同的內核中運行,但與系統的其餘部分隔離。將它們想象爲「chroot」,並附加隔離網絡堆棧和進程樹。涉及建立和拆除新監獄或視頻服務器的工作可能非常快。

如果可以,我建議你切換到FreeBSD。 Jails享受比Linux(現在正在衰退)的vserver解決方案更加充滿活力的開發和支持社區。

相關問題