Этот вопрос связан с другим вопросом @Stefan, но он не является дубликатом. Вопросы немного разные: автор просто хотел узнать, было ли это реализовано, а я прошу помощи конкретно о том, как это сделать (определенным образом). Кроме того, другой вопрос не получил полезных ответов для разработчиков, кроме недавнего, который просто связан с моей попыткой сделать это.
Объяснив «дубликат» вопроса ...
Я нахожусь на Ubuntu 14.04, использующей полное шифрование диска (LVM поверх LUKS), и я хотел бы включить luksSuspend
в процедуру приостановки (и последующего использования luksResume
), чтобы я мог приостановить работу в ОЗУ, не оставляя ключевой материал в памяти и корневой каталог не разблокирован.
Я пытался портировать скрипт для Arch Linux , но пока безуспешно: честно говоря, понятия не имею, что я делаю ...
Может кто-нибудь помочь мне портировать это (или создать что-то подобное с нуля)? Или, по крайней мере, может кто-нибудь указать мне на документацию о том, как подключить вещи к процедурам приостановки и как сохранить необходимые двоичные файлы и сценарии (такие как cryptsetup) доступными даже после того, как все операции ввода-вывода в root были заблокированы (пользователем luksSuspend
)?
Относительно того, как сохранить необходимые двоичные файлы и сценарии, доступные для резюме, этот другой пост в блоге (также для Arch) скопировал их /boot
; Однако я хотел бы использовать что-то еще в строках, которые Vianney использовал в сценарии, который я упоминал ранее, потому что этот подход выглядит немного более элегантным в этом аспекте.
Я многого не достиг, но мои разработки можно найти на GitHub .
источник
udisksctl lock -b /dev/sda
в скрипт в/etc/pm/sleep.d/
директории?cryptsetup luksSuspend
я использовал только с LUKS , но с другой стороны требует размонтирования файловой системы. Кроме того, он, вероятно, не будет работать в тюрьме (поскольку он взаимодействует с демоном udisksd) и не может быть использован для перемонтирования / возобновления файловой системы.Ответы:
Извините за очевидное, но вы пытались добавить скрипт, содержащий команды cryptsetup luksSuspend / luksResume, в
/usr/lib/pm-utils/sleep.d
? Если так, что случилось?Мне показалось бы логичным вызывать сервисы stop / start cryptdisks и cryptdisks_early на hibernate / resume. Будут ли вызовы cryptdisks_stop и cryptdisks_start внутри скрипта
pm-utils/sleep.d
делать свое дело? Я предполагаю, что это будет иметь тот же результат, что и вызовcryptsetup luksSuspend
напрямую.источник
echo mem > /sys/power/state
). Смотрите связанный репозиторий для более подробной информации.Самое близкое решение, которое мне удалось найти, - это сценарий доказательства концепции suspend.sh 2013 года Микко Раухала.
Некоторая работа была проделана для переноса этого на Ubuntu 14.04 здесь. Это ни в коем случае не идеальное решение, так как все еще есть некоторые открытые проблемы, и похоже, что с 11 июня 2014 года не было выпущено ни одной работы. Однако это кажется хорошей отправной точкой для будущего развития.
Источник: https://github.com/jonasmalacofilho/ubuntu-luks-suspend
источник