[英]Can "rm -rf" on a docker container delete files on the host?
我有一個由 python 腳本組成的 docker 映像,它需要一些任意源代碼和eval()
就是它
假設代碼是rm -rf
。 這會刪除主機文件系統上的任何內容嗎?
我認為答案是否定的,但我只是想在嘗試之前確認一下。
所以一方面,是的,Docker 的文件系統隔離意味着默認情況下像rm -rf
這樣的命令只能破壞容器的文件系統。
人們經常做的各種各樣的事情都會削弱這一點。 您是否將主機的源代碼綁定掛載到容器中以簡化開發? 惡意代碼可能會破壞您的開發樹,或者偷偷地將提交提交到您的.git
目錄中。 將 Docker 套接字綁定安裝到容器中,以便啟動其他容器? 利用它來根整個主機是微不足道的。
這也只是eval()
可能實現的一小部分。 Linux 內核漏洞利用經常發生,並且由於 Docker 容器共享主機內核,因此eval()
ed 代碼可以利用這一點。 還有一些東西,比如加密貨幣礦工本身並不危險,但你仍然不想為其他人運行它們。
就您的狹隘問題而言,是的,Docker 可以保護您免受破壞主機文件系統的惡意代碼的侵害,但是惡意代碼仍然可以做很多其他事情,我不會嘗試將 Docker 容器用作真正的沙箱不受信任的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.