Pull to refresh
1
0
Орлюк Николай @ony

Пользователь

Send message

Ещё раз подтверждает, что в sudo надо прописывать неинтерактивные комманды. А если нужный частичный функционал какой-то комманды, то лучше сделать враппер на баше или ещё чем-то.
А для публично доступных аккаунтов лучше давать доступ для записи (домик и прочее) на nosuid файловую систему (совсем для паранои noexec).


P.S. Мне казалось, что проще копировать /bin/bash себе в домик и ставить на него suid бит чем компилить что-то.

Насколько я понимаю подобный подход предоставляют всякие библиотеки типа liborс и liboil. Но их главное приемущество в том что они могут потратить немного времени в рантайме чтобы сгенерировать код для обработки большого потока данных на основании мета информации такой как размер картинки.

watchdog нужен для загрузки через kexec. Т.е. grub вообще не загружается в этом случае. Если загруженная система через kexec детектится как нерабочая (kernel panic или watchdog срабатывае), то происходит обычная перезагрузка и grub загружает обычную систему.


Если всё же хочется через grub, то во второй версии, вроде по умолчанию запоминается последний выбранный пункт (при включенном GRUB_SAVEDEFAULT). Скорее всего, как-то связанно с grub-editenv. Наверное, можно и скрипт написать в нём или уже в initrd.
Но я всегда боюсь трогать grub. И незнаю почему, но с первой версией grub'а я чувствовал себя немного уверенее.

Может можно использовать pivot_root как это делает initrd обычно? Т.е. сделать тоже самое что и initrd только на оборот.


  1. создаём RAM disk (если нет возможности создать раздел на диске)
  2. pivot_root внутрь.
  3. подымаем нужные сервисы явно
  4. гасим все сервисы из старой системы.
  5. отмонтируем старую файловую систему.
  6. делаем что хотим с дисками

Вариант с initrd — кажется более надёжным. Только эксперементировать с загрузкой, наверное, стоит через kexec. И стоит внутри initrd сделать какой-то watchdog который перезагрузит систему назад если в течении какого-то времени никто не зайдёт в неё по ssh. Ну и panic должен быть указан так чтобы в случае такой ситуации система перезагрузилась.

Information

Rating
Does not participate
Registered
Activity