0

我正在创建一个 Debian 系统的 ISO:

mkisofs -V "Debian ISO" -cache-inodes -J -l -o file.iso debian-system/

问题是:当我安装 ISO ( mount -o loop)ping并且sudo由于它们的 suid 位尚未设置而无法工作时。

我知道-r标志清除了特殊之二。此标志生成“合理化的 Rock Ridge 目录信息”,可以保留原始文件权限,但也可以清除任何 set-id 位。

但是,如果我不使用-r,则所有文件的文件权限都是相同的,正如在运行时挂载 ISO 时所指定的那样。

问题:如何将 ping 和 sudo 等 set-id 文件添加到 linux “live” ISO?

4

1 回答 1

1

您需要使用支持这些权限的备用文件系统。

LiveCD/DVD 的工作方式是安装一个 squashfs 文件,该文件在 RAM 中进行了更改。

您可以通过使用创建一个充满零的文件来“伪造”相同的内容,在其上创建dd一个文件系统mkfs.ext4,挂载它,然后将文件复制到它上面。然后在您的自定义磁盘上,将其挂载为循环(mount -o loop /path/to/file /mnt/point)和符号链接/等二进制文件。

于 2018-01-11T01:23:45.207 回答