2012-02-23 25 views
2

我正在設置一項小服務,以允許人們在沒有投入太多使用的備用框上運行臨時的Minecraft服務器。防止Java創建新進程

啓動Minecraft服務器的.jar將是不可編輯的,因爲它們無法上傳新的.jar文件並在其中運行該文件。然而,.jar將是Minecraft服務器的Bukkit Mod/Wrapper,它允許加載形式爲.jars的插件。什麼阻止某人創建自己的插件並使用它來產生更多的服務器?

如何防止某人使用服務器插件創建另一個服務器進程?我已經計劃完成這項工作,以便每臺服務器都可以在自己的用戶帳戶下運行,而用戶帳戶無法從其登錄。

+0

查看'ulimit',它可以讓您限制用戶可用的資源。另外,Java安全模型應該允許您限制Java程序可以執行的操作(例如,Java小程序默認不能訪問文件系統),儘管我自己並沒有使用它。 – perelman 2012-02-23 01:48:42

回答

2

我不熟悉Minecraft的代碼庫。

但是,您應該考慮使用SecurityManager運行代碼。這將使您能夠限制許多操作(例如能夠執行新的進程)。

正確完成,這應該使您能夠完全鎖定加載的.jar文件。 Minecraft服務器可能已經爲你做了這件事,想要限制可下載的mod的活動是一件非常明顯的事情。