Archive

安全提取文件的技術有哪些?

  • June 15, 2014

昨天我在Slitaz上做了一些實驗。它使用多個 initrd.img 來儲存文件/更改。

我想將其中一個 initrd.gz 圖像(這是一個 cpio 存檔)提取到一個文件夾中,編輯/刪除它們,再次重新打包。

我使用了這段程式碼:

cat rootfs.img | cpio -idvm

然後所有文件都被提取到我的根文件系統。我的整個作業系統都損壞了。(多麼尷尬的情況……)

我應該怎麼做才能安全但簡單地進行此類操作?根?LXC?(VirtualBox 是最後的手段)

使用相對路徑存檔

我建議不要在您的根級別執行該類型的命令,/. 那是自找麻煩。我總是cpio -idvm在自己的目錄中執行相關命令,然後使用mvorcp將文件放在需要手動放置的位置。

您也可以使用我在另一個 U&L Q&A 中描述的方法,標題為:如何在 SliTaz Linux 中安裝 TazPkg,它也使用cpio.

使用絕對路徑歸檔

如果存檔是使用絕對路徑建構的,您可以cpio使用--no-absolute-filenames開關阻止它提取到/.

$ mkdir /tmp/cpio-root
$ cd /tmp/cpio-root
$ cat rootfs.img | cpio -idvm --no-absolute-filenames

參考

引用自:https://unix.stackexchange.com/questions/137160