LINUX.ORG.RU
решено ФорумAdmin

Свой скрипт в SystemD

 


0

2

Есть шифрованные тома, которые монтируются до fstab, а есть те, которые нужно монтировать после. Все с одним паролем. Хочется скрипт, который будет один раз спрашивать пароль, монтировать тома, ждать монтирования ФС, и уже монтировать оставшийся том.

Ткните плз, что курить, что бы реализовать такое. Я в линуксе еще зеленый, с systemd не имел дела. Пока осилил только править crypttab :)

Ответ на: комментарий от fingolfin

К Логопеду, Быдло. Но вообще этот парень поможет, он немного шарит в SystemD

SevikL ★★★★★
()
Ответ на: комментарий от fingolfin

Не с наречем «непонятно» в данном случае пишется слитно.

Опиши конфигурацию системы. У тебя корневой раздел в шифрованном контейнере или только некоторые?

Напишите более подробно, какие разделы на диске, какие из них шифроване, что в /etc/fstab?

anonymous
()
Ответ на: комментарий от fingolfin

1. systemd != SystemD
У intelfx сегодня плохое настроение :) Поэтому и клб. Но как писали выше, в части *d это большой гуру, кмк лучший на лоре.
2. Задачу вы действительно «не понятно описал». Даже если забыть про «ненужнод» не понятно что хотим.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)

По существу:

Есть шифрованные тома, которые монтируются до fstab, а есть те, которые нужно монтировать после.

Задача поставлена криво и некорректно. В такой постановке она решается с болью и костылями, и я участвовать в этом процессе не хочу. Опиши окружение (что за разделы, где лежат, где корень, что в fstab) и конечную цель.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

ОК, другими словами. У меня в crypttab шифрованные тома монтируются с помощью decrypt_keyctl. Скрипт один раз спрашивает пароль, и подключает с помощью него все тома в /dev/mapper (которые уже можно монтировать).

Мне нужен подобный скрипт, но с добавлением: скрипт должен дождаться, когда будут смонтированы другие тома в файловую систему и смонтировать еще один том тем же паролем. Ждать нужно потому, что этот том будет поверх файловой системы (содержаться в файле).

Не знаю, с чего начать. Может, я не те инструменты ищу. Мануалов, как вставить свой скрипт в systemd - полно. Писать bash скрипты я могу. Но как реализовать ожидание? И еще: как можно вводить текст в скрипт, запускаемый через systemd? Как и в обычных скриптах, типа read varname?

fingolfin
() автор топика
Ответ на: комментарий от fingolfin

Я ещё раз повторяю: твоё описание — канонический пример проблемы X-Y.

Может, я не те инструменты ищу.

Да ты вообще всё не так делаешь и не с того конца решаешь задачу.

Мне нужен подобный скрипт, но с добавлением: скрипт должен дождаться, когда будут смонтированы другие тома в файловую систему и смонтировать еще один том тем же паролем. Ждать нужно потому, что этот том будет поверх файловой системы (содержаться в файле).

Отлично. На самом деле тебе нужно не «смонтировать после fstab», а смонтировать ФС в естественном порядке, когда source одной файловой системы лежит под target другой. systemd упорядочивает такие точки монтирования автоматически.

Мне нужен подобный скрипт, но с добавлением: скрипт должен дождаться, когда будут смонтированы другие тома в файловую систему и смонтировать еще один том тем же паролем. Ждать нужно потому, что этот том будет поверх файловой системы (содержаться в файле).

Отлично. На самом деле тебе нужен не скрипт, а смонтировать несколько ФС с одним и тем же паролем. Опять же, systemd делает это автоматически.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

я участвовать в этом процессе не хочу

Я и не прошу вас, просил только ткнуть носом - что курить :) Хотя за расширенную помощь буду только благодарен. Не совсем понимаю, чем поможет конкретика, но пусть. Раздела самые обычные - в /dev/sdXY. Подключаются в crypttab таким образом:

c1  UUID=многа_букаф keyscript=decrypt_keyctl
c2  UUID=многа_букаф keyscript=decrypt_keyctl
c3  UUID=многа_букаф keyscript=decrypt_keyctl

А мне нужно еще подключать раздел, который подключается через loop из файла.

fingolfin
() автор топика
Ответ на: комментарий от intelfx

@intelfx, благодарю за помощь! Всё работает. Ключевое:

На самом деле тебе нужно не «смонтировать после fstab», а смонтировать ФС в естественном порядке, когда source одной файловой системы лежит под target другой. systemd упорядочивает такие точки монтирования автоматически.

На самом деле я понимаю проблему XY-проблему. Просто даже не приходило в голову, что systemd настолько мудрёный инструмент. Однако, признаться, для юзера это весьма удобно.

fingolfin
() автор топика
Ответ на: комментарий от fingolfin

Кстати, забавный эффект: человек осознаёт задачу, идёт гуглить, ничего не находит, пишет на форум. И тогда только узнаёт, что этой задачи на самом деле не существует.

fingolfin
() автор топика
Ответ на: комментарий от fingolfin

Просто даже не приходило в голову, что systemd настолько мудрёный инструмент

А это не имеет значения. Безотносительно systemd, твоя исходная задача — это

  1. Смонтировать несколько ФС, где какие-то из них зашифрованные, а ещё одна — loopback и лежит на другой;
  2. Не спрашивать один и тот же пароль несколько раз.

А ты стал спрашивать про какие-то скрипты, «до fstab», «после fstab» и прочее. Исходную задачу из тебя пришлось вытаскивать клещами, и то — даже после явного вопроса ты тупо перефразировал ОП, а объект вопроса упомянул вскользь. Не надо так.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 5)
Ответ на: комментарий от intelfx

твоя исходная задача — это

А вот тут ошибочка. Моя исходная задача - сделать себе классно.

Вы поражаетесь моей тупости, потому что уже разобрались, а для меня ваш ответ примерно настолько необычен, как совет скомпилировать программу с исходным текстом «do what I want». По логарифмической шкале, конечно.

fingolfin
() автор топика
Ответ на: комментарий от fingolfin

Моя исходная задача - сделать себе классно

В такой формулировке эта задача — оффтопик для данного форума ;)

А вот тут ошибочка.

И всё-таки позволю себе возразить: насколько я понимаю, эти ФС уже существуют и на них есть какие-то данные, поэтому мы в любом случае должны работать с ними. Это ограничивает масштаб рассмотрения проблемы сверху.

А если этих ФС ещё нет, тогда совершенно верно — ты мог бы прийти с вопросом «как мне организовать хранение данных с такими-то требованиями», и это было бы даже лучше. Потому что я подозреваю, что loopback — это какой-то эпический костыль, и можно было бы сделать ещё проще, если знать, зачем.

Вы поражаетесь моей тупости

Отнюдь — просто указываю на типичную ошибку новичка.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.