Linux
如何以指定使用者的身份在有限的時間內執行程序而不在linux系統上留下痕跡?
我必須在 linux 伺服器上執行一個不受信任的第三方應用程序。
該程序應以指定使用者身份執行一段有限的時間,例如 30 秒。
在此期間,程序可以使用所有系統資源,但只能寫入指定目錄下。
程序終止或因超時而終止後,必須對系統進行清理,因此它與執行應用程序之前的狀態完全相同。
不應遺漏任何描述符、套接字、衍生程序、文件或其他系統資源。
我怎樣才能做到這一點?
聽起來您正在尋找類似作業系統容器的東西。Solaris 版本曾經被稱為區域,這是一種虛擬化,其中多個虛擬機共享一個核心,但實際上具有單獨的 PID 0 程序,甚至是不同的文件系統。
如果您確實需要執行一些需要執行的東西,然後將所有內容重置為穩定狀態,那麼這樣的事情將是一個不錯的選擇。我們的快照完整虛擬機;啟動機器,執行程序,停止機器,回滾到已知良好的快照。有些,例如 VMWare,甚至可以實時執行此過程,儘管在將實時記憶體快照送出到磁碟(或從磁碟恢復)時有一個非常明顯的暫停。