Биты Set-ID в ISO
Я создаю ISO системы Debian с:
mkisofs -V "Debian ISO" -cache-inodes -J -l -o file.iso debian-system/
Проблема: когда я монтирую ISO (mount -o loop
) ping
а также sudo
не работают, потому что их биты suid не были установлены.
Я знаю, что специальные бис очищаются -r
флаг. Этот флаг генерирует "рационализированную информацию каталога Rock Ridge", которая позволяет сохранить исходные права доступа к файлу, но также очищает любые биты идентификатора набора.
Но если я не использую -r
Права доступа к файлам будут одинаковыми для всех файлов, как указано во время выполнения при монтировании ISO.
Вопрос: как добавить файлы set-id, такие как ping и sudo, в "живой" ISO-образ Linux?
1 ответ
Вам необходимо использовать альтернативную файловую систему, которая поддерживает эти разрешения.
LiveCD/DVD работает так, как есть файл squashfs, который монтируется с изменениями, внесенными в оперативную память.
Вы можете "подделать" то же самое, создав файл, полный нулей, используя dd
создай на нем файловую систему mkfs.ext4
, смонтируйте его и скопируйте на него файлы. Затем на вашем диске смонтируйте его как цикл (mount -o loop /path/to/file /mnt/point
) и символьная ссылка /etc бинарные файлы закончились.