LINUX.ORG.RU

История изменений

Исправление Spoofing, (текущая версия) :

есть вариант от Спуфинга, когда ты занимаешься настройкой системой локально, каким удобно тебе образом, редактируешь конфиги и всё прочая, а затем получившийся образ загружаешь на удалённый хост типа как прошивку, и загружаешься в неё прямо из системы.

ставишь boobstrap, запускаешь этот скрипт https://github.com/sp00f1ng/boobstrap/blob/master/bootstrap-templates/crux_gn...

и получаешь на выходе минимальную рабочую систему Linux, которая в пожатом виде xz весит 32мб.

далее запускаешь скрипт https://github.com/sp00f1ng/boobstrap/blob/master/bootstrap-templates/crux_gn...

и получаешь на выходе initrd образ готовый к загрузке, который содержит в себе openssh и твой ключ взятый из $HOME, ты можешь этот initrd скормить любой системе, например через PXE, или сделать kexec -l $BOOT_IMAGE --initrd ./initrd && kexec -e, после чего система перезагрузится в данный initrd, а ты получишь систему с доступом по ssh к ней, на стадии initramfs.

суть моего метода в том, чтобы ты в обычных bash скриптах описывал конфигурацию хостов и выполнял их сборку с использованием трёх команд mkbootstrap, mkinitramfs и mkbootisofs.

например смотри, разворачиваем систему используя любой доступный тебе mkbootstrap crux_gnulinux, debootstrap, pacstrap, dnf --installroot и прочее.

затем ты хочешь её настроить. я рекомендую делать настройки в отдельной папке, которая затем ляжет верхним слоем на систему. потому что потом ты можешь тупо удалить папку с системой и установить её заново, а все твои настройки сохранятся в соседей папке.

например. mkbootstrap crux_gnulinux chroot/ --ports-dir=/mnt/crux/core установит тебе систему в папку chroot/

далее ты создаёшь рядом какой-нибудь rootfs-changes/ и производишь все настройки, тебе надо настроить /etc/php-fpm/php-fpm.conf, значит ты его копирует из chroot/etc/php-fpm/php-fpm.conf в rootfs-changes/etc/php-fpm/php-fpm.conf и уже здесь настраиваешь.

теперь у тебя два будущих каталога, которые станут оверлеями, один с системой, второй с настройками.

у тебя два варианта, упаковать всё в initramfs образ или в ISO образ. разницы никакой, кроме ограничения на размер initramfs на некоторых системах (сталкивался на AM4 например, на FM2, 1151 проблем небыло).

допустим ты захотел всё упаковать в initrd, тогда делаешь

mkdir initramfs
mkinitramfs initramfs/ --overlay chroot/ --overlay rootfs-changes/ --squashfs-xz --output initrd.img

всё, на выходе у тебя initrd.img который к загрузке вместе с ядром. ты заливаешь его на удалённый хост как прошивку, и делаешь вышеупомянутый kexec -e, хост перезагружается в твою конфигурацию.

если хочешь можешь упаковать в ISO образ и на флешке руками систему загрузить.

mkdir bootimage
mkbootisofs bootimage/ --overlay chroot/ --overlay rootfs-changes/ --squashfs-xz --output install.iso

всё, dd'шишь iso на флешку, вставляешь в комп и грузишься, у тебя полностью развёрнутая твоя конфигурация системы будет.

ничего лучше моего метода ты не найдёшь и не придумаешь. потому что когда ты создал конфигурацию, она у тебя лежит как бэкап. и никуда оно не денется. когда система «на том хосте» выйдет из строя, ты любым удобным образом зальёшь туда прошивку заново и запустишь (с исправлениями, если это был взлом в результате уязвимости exim к примеру).

хочешь генту, вот пример Любой GNU/Linux. С любого накопителя. С откатом неудачных конфигураций.

Создание загрузочных образов boobstrap v1.0 и boobstrap v1.1

Исправление Spoofing, :

есть вариант от Спуфинга, когда ты занимаешься настройкой системой локально, каким удобно тебе образом, редактируешь конфиги и всё прочая, а затем получившийся образ загружаешь на удалённый хост типа как прошивку, и загружаешься в неё прямо из системы.

ставишь boobstrap, запускаешь этот скрипт https://github.com/sp00f1ng/boobstrap/blob/master/bootstrap-templates/crux_gn...

и получаешь на выходе минимальную рабочую систему Linux, которая в пожатом виде xz весит 32мб.

далее запускаешь скрипт https://github.com/sp00f1ng/boobstrap/blob/master/bootstrap-templates/crux_gn...

и получаешь на выходе initrd образ готовый к загрузке, который содержит в себе openssh и твой ключ взятый из $HOME, ты можешь этот initrd скормить любой системе, например через PXE, или сделать kexec -l $BOOT_IMAGE --initrd ./initrd && kexec -e, после чего система перезагрузится в данный initrd, а ты получишь систему с доступом по ssh к ней, на стадии initramfs.

суть моего метода в том, чтобы ты в обычных bash скриптах описывал конфигурацию хостов и выполнял их сборку с использованием трёх команд mkbootstrap, mkinitramfs и mkbootisofs.

например смотри, разворачиваем систему используя любой доступный тебе mkbootstrap crux_gnulinux, debootstrap, pacstrap, dnf --installroot и прочее.

затем ты хочешь её настроить. я рекомендую делать настройки в отдельной папке, которая затем ляжет верхним слоем на систему. потому что потом ты можешь тупо удалить папку с системой и установить её заново, а все твои настройки сохранятся в соседей папке.

например. mkbootstrap crux_gnulinux chroot/ --ports-dir=/mnt/crux/core установит тебе систему в папку chroot/

далее ты создаёшь рядом какой-нибудь rootfs-changes/ и производишь все настройки, тебе надо настроить /etc/php-fpm/php-fpm.conf, значит ты его копирует из chroot/etc/php-fpm/php-fpm.conf в rootfs-changes/etc/php-fpm/php-fpm.conf и уже здесь настраиваешь.

теперь у тебя два будущих каталога, которые станут оверлеями, один с системой, второй с настройками.

у тебя два варианта, упаковать всё в initramfs образ или в ISO образ. разницы никакой, кроме ограничения на размер initramfs на некоторых системах (сталкивался на AM4 например, на FM2, 1151 проблем небыло).

допустим ты захотел всё упаковать в initrd, тогда делаешь

mkdir initramfs
mkinitramfs initramfs/ --overlay chroot/ --overlay rootfs-changes/ --squashfs-xz --output initrd.img

всё, на выходе у тебя initrd.img который к загрузке вместе с ядром. ты заливаешь его на удалённый хост как прошивку, и делаешь вышеупомянутый kexec -e, хост перезагружается в твою конфигурацию.

если хочешь можешь упаковать в ISO образ и на флешке руками систему загрузить.

mkdir bootimage
mkbootisofs bootimage/ --overlay chroot/ --overlay rootfs-changes/ --squashfs-xz --output install.iso

всё, dd'шишь iso на флешку, вставляешь в комп и грузишься, у тебя полностью развёрнутая твоя конфигурация системы будет.

ничего лучше моего метода ты не найдёшь и не придумаешь. потому что когда ты создал конфигурацию, она у тебя лежит как бэкап. и никуда оно не денется. когда система «на том хосте» выйдет из строя, ты любым удобным образом зальёшь туда прошивку заново и запустишь (с исправлениями, если это был взлом в результате уязвимости exim к примеру).

Исходная версия Spoofing, :

есть вариант от Спуфинга, когда ты занимаешься настройкой системой локально, каким удобно тебе образом, редактируешь конфиги и всё прочая, а затем получившийся образ загружаешь на удалённый хост типа как прошивку, и загружаешься в неё прямо из системы.

ставишь boobstrap, запускаешь этот скрипт https://github.com/sp00f1ng/boobstrap/blob/master/bootstrap-templates/crux_gn...

и получаешь на выходе минимальную рабочую систему Linux, которая в пожатом виде xz весит 32мб.

далее запускаешь скрипт https://github.com/sp00f1ng/boobstrap/blob/master/bootstrap-templates/crux_gn...

и получаешь на выходе initrd образ готовый к загрузке, который содержит в себе openssh и твой ключ взятый из $HOME, ты можешь этот initrd скормить любой системе, например через PXE, или сделать kexec -l $BOOT_IMAGE --initrd ./initrd && kexec -e, после чего система перезагрузится в данный initrd, а ты получишь систему с доступом по ssh к ней, на стадии initramfs.

суть моего метода в том, чтобы ты в обычных bash скриптах описывал конфигурацию хостов и выполнял их сборку с использованием трёх команд mkbootstrap, mkinitramfs и mkbootisofs.

например смотри, разворачиваем систему используя любой доступный тебе mkbootstrap crux_gnulinux, debootstrap, pacstrap, dnf --installroot и прочее.

затем ты хочешь её настроить. я рекомендую делать настройки в отдельной папке, которая затем ляжет верхним слоем на систему. потому что потом ты можешь тупо удалить папку с системой и установить её заново, а все твои настройки сохранятся в соседей папке.

например. mkbootstrap crux_gnulinux chroot/ --ports-dir=/mnt/crux/core установит тебе систему в папку chroot/

далее ты создаёшь рядом какой-нибудь rootfs-changes/ и производишь все настройки, тебе надо настроить /etc/php-fpm/php-fpm.conf, значит ты его копирует из chroot/etc/php-fpm/php-fpm.conf в rootfs-changes/etc/php-fpm/php-fpm.conf и уже здесь настраиваешь.

теперь у тебя два будущих каталога, которые станут оверлеями, один с системой, второй с настройками.

у тебя два варианта, упаковать всё в initramfs образ или в ISO образ. разницы никакой, кроме ограничения на размер initramfs на некоторых системах (сталкивался на AM4 например, на FM2, 1151 проблем небыло).

допустим ты захотел всё упаковать в initrd, тогда делаешь

mkdir initramfs
mkinitramfs initramfs/ --overlay chroot/ --overlay rootfs-changes/ --squashfs-xz --output initrd.img

всё, на выходе у тебя initrd.img который к загрузке вместе с рядом. ты заливаешь его на удалённый хост как прошивку, и делаешь вышеупомянутый kexec -e, хост перезагружается в твою конфигурацию.

если хочешь можешь упаковать в ISO образ и на флешке руками систему загрузить.

mkdir bootimage
mkbootisofs bootimage/ --overlay chroot/ --overlay rootfs-changes/ --squashfs-xz --output install.iso

всё, dd'шишь iso на флешку, вставляешь в комп и грузишься, у тебя полностью развёрнутая твоя конфигурация системы будет.

ничего лучше моего метода ты не найдёшь и не придумаешь. потому что когда ты создал конфигурацию, она у тебя лежит как бэкап. и никуда оно не денется. когда система «на том хосте» выйдет из строя, ты любым удобным образом зальёшь туда прошивку заново и запустишь (с исправлениями, если это был взлом в результате уязвимости exim к примеру).