2016-01-18 58 views
0

我必須在我的Ubuntu服務器上運行其他人的編譯代碼,我擔心源代碼可能有害(系統權限,刪除文件等等)。是否有可能限制他們被允許從終端上做的事情?有沒有辦法以有限的權限運行C++和Java文件?

+2

這不是這些可執行文件構建的語言的問題,而是它們從哪個帳戶運行的。 –

+0

提供各種沙盒選項,但這些選項需要專業知識才能實現您的安全目標。對於SO來說,這個問題確實太廣泛了,至多隻有外設編程相關。 –

+0

這個問題可能是在http://askubuntu.com/或http://superuser.com/的主題上搜索他們的現有答案。 – user2079303

回答

-1

限制他們的權限;如果你以root身份運行Java程序,那麼它將具有root權限。如果您運行程序並且沒有權限,程序將沒有權限。

+0

您不需要以root身份來查找目錄中的所有文件來清除它們。 – kanslulz

+0

而不是_don't給予用戶這樣做的權限._ – ostrichofevil

+1

這是我首先要求的。如何做到這一點 – kanslulz

1

您可以在SecurityManager下運行Java程序,該程序可以允許或阻止不同種類的操作,而不管程序運行的是哪個用戶。

0

你需要的是什麼沙盒,你的問題稍微寬泛,反正:

您可以使用chroot到系統的視圖限制到文件系統的限制部分。這是輕沙箱。 chroot命令在許多Unix上都可用。

在OSX上,您有一個sandbox-exec命令可用於更精確地定義過程的權限。

在Linux上,您有一個稱爲AppArmor的等價物,它也爲您的過程使用特權規範。

相關問題