如何在解壓縮的 squashfs 檔案系統中重新標記 SELinux 檔案系統?

如何在解壓縮的 squashfs 檔案系統中重新標記 SELinux 檔案系統?

我正在嘗試為即時啟動 Debian 系統配置 selinux。

由於建置和系統配置期間的大量更改,SELinux 無法運行,並且需要重新標記整個檔案系統。這必須在建置時使用檔案系統作為解壓縮的 squashfs 檔案來完成,從 chroot 或 systemd-nspawn 內部或從主機系統。

尚未找到成功實現此目的的方法。 /etc/selinux/default/contexts/files/file_contexts.subs_dist 檔案應該是檔案系統位置後面的檔案系統目標的別名,但是在SELinux 重新標記期間嘗試使用它來將主機檔案系統並重定向到解壓縮的壓縮系統並重定向到解壓縮的壓縮系統並重定向到不起作用:SELinux繼續重新標記主機檔案系統,squashfs 檔案系統被引用為未知檔案類型。

有沒有簡單的方法可以在squashfs中為SELinux重新標記檔案系統?

答案1

目前,這個問題還沒有我能找到的已知解決方案,儘管我確信應該可以在可寫入的未打包的 squashfs 中或上操作 SELinux。

否則,一種即時構建解決方案是使用 debootstrap 手動構建,在此階段沒有 isolinux,因此沒有 squashfs 或 iso,添加內核和軟體包;然後將這個可寫入 Debian 啟動到 USB 隨身碟或在虛擬客戶機中啟動;然後對檔案系統執行 SELinux 重新標記。完成此操作後,建置過程可以繼續從 isolinux 到 squashfs、iso 和通常的不可寫入混合系統。

可寫入方法概述如下:

https://vdmit.org/linux/debian-live-usb-debootstrap.html

有利的、不可寫的混合手動構建 - 手動方法,否則嘗試使用 Debian 實時構建腳本自動化 - 概述如下:

https://l3net.wordpress.com/2013/09/21/how-to-build-a-debian-livecd/

此方法的唯一缺點是,完整的配置必須出現在 debootstrap 階段,因為它將出現在可啟動的混合系統中,以便標記正確,並且沒有方法繼續可用於重新標記未打包的南瓜,我認為這是不可接受的,因為squashfs可能需要在建置後進行編輯。

使用配置掛鉤導入的其他物件當然需要適當的或自訂的上下文或在啟動後標記的許可上下文,但這是一個很少有 RAM 消耗的小任務。

否則,這仍然是一個懸而未決的問題。

相關內容