Fedora

為什麼 rootfs.img 中不存在 liveuser 主目錄?

  • December 30, 2020

如果您unsquashsquashfs.imgFedora Live ISO 中,然後掛載rootfs.img包含 live 映像的根文件系統的 .,您將看到該/home目錄是空的。

然而,當您從您的使用者所在的實時映像啟動時liveuser,該目錄/home/liveuser“神奇地”出現了。

這個目錄是從哪裡來的,如果它不在rootfs.img

您可以通過以下方式進行驗證:

mount -o loop Fedora.iso /mnt/
mkdir iso
cp -rpf /mnt/* iso/
umount /mnt
unsquashfs iso/LiveOS/squashfs.img
cd squashfs-root/LiveOS
mount -o loop,ro rootfs.img /mnt

ll /mnt/home/
total 0

然而,當您啟動時,您會發現一個liveuser主目錄。是如何自發產生的?

奇怪的是,在 中fedora-live-base.ks,這個目錄和使用者實際上是創建的:

action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser

然而沒有liveuser

這裡發生了什麼 ?

及其主liveuser目錄由livesys服務在引導期間創建。service/init 腳本本身是在%postkickstart 文件中創建的——請注意:

cat > /etc/rc.d/init.d/livesys << EOF

%post腳本中的行。fedora-live-base.ks中第 64 行和第 216 行之間的所有內容都是livesysinit 腳本的內容,因此useradd在 Live CD 創建期間不會執行該命令,也不會創建主目錄。

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