Я пытаюсь написать конфигуратор сети / среды для распределенного устройства OVA, аналогично тому, что делает Github Enterprise, см. https://github-images.s3.amazonaws.com/enterprise/Enterprise-QS-Virtualbox-Console.png. Я использую CoreOS и Systemd в качестве системы инициализации. autologin деактивирован, и мой текущий подход состоит в том, чтобы написать модуль .service, который настроит сеть, а затем перезапустится с этими конфигурациями. Причина в том, что во время запуска systemd у меня достаточно прав для изменения сети, и мне не нужно разрешать пользователю входить в систему. Обратной стороной является то, что этот процесс в основном зависает / останавливает запуск systemd.
Мой вопрос в том, как настроить Systemd (в CoreOS) так, чтобы после загрузки пользователю была представлена интерактивная программа / сценарий, и пользователь не мог «уйти» от этой программы / сценария?
Если вы хотите сделать конфигурация сети одним махом вы можете проверить Зажигание. Он запускается до инициализации systemd, что означает, что вы можете записать свои сетевые блоки при первой загрузке.
Что касается удаления пользователя SSH в установщик / конфигуратор, вы можете использовать ForceCommand
который запускает контейнер с вашим установщиком. Лучшей практикой было бы заблокировать это для определенного пользователя. Больше информации: https://stackoverflow.com/questions/33713680/ssh-force-command-execution-on-login-even-without-shell
Дайте мне знать, как это работает!