为什么 rootfs.img 中不存在 liveuser 主目录?

为什么 rootfs.img 中不存在 liveuser 主目录?

如果您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

这里发生了什么 ?

答案1

及其liveuser主目录是在livesys服务启动期间创建的。 service/init 脚本本身是在%postkickstart 文件中创建的 - 请注意:

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

脚本中的行%post。第 64 行和第 216 行之间的所有内容fedora-live-base.ks是 init 脚本的内容livesys,因此useradd在 Live CD 创建期间不会执行该命令,并且不会创建主目录。

相关内容