Биты 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 бинарные файлы закончились.

Другие вопросы по тегам