簡體   English   中英

docker 容器上的“rm -rf”可以刪除主機上的文件嗎?

[英]Can "rm -rf" on a docker container delete files on the host?

我有一個由 py​​thon 腳本組成的 docker 映像,它需要一些任意源代碼和eval()就是它

假設代碼是rm -rf 這會刪除主機文件系統上的任何內容嗎?

我認為答案是否定的,但我只是想在嘗試之前確認一下。

所以一方面,是的,Docker 的文件系統隔離意味着默認情況下像rm -rf這樣的命令只能破壞容器的文件系統。

人們經常做的各種各樣的事情都會削弱這一點。 您是否將主機的源代碼綁定掛載到容器中以簡化開發? 惡意代碼可能會破壞您的開發樹,或者偷偷地將提交提交到您的.git目錄中。 將 Docker 套接字綁定安裝到容器中,以便啟動其他容器? 利用它來根整個主機是微不足道的。

這也只是eval()可能實現的一小部分。 Linux 內核漏洞利用經常發生,並且由於 Docker 容器共享主機內核,因此eval() ed 代碼可以利用這一點。 還有一些東西,比如加密貨幣礦工本身並不危險但你仍然不想為其他人運行它們。

就您的狹隘問題而言,是的,Docker 可以保護您免受破壞主機文件系統的惡意代碼的侵害,但是惡意代碼仍然可以做很多其他事情,我不會嘗試將 Docker 容器用作真正的沙箱不受信任的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM