Назад | Перейти на главную страницу

Кикстарт, универсальный сценарий установки и пароли по умолчанию

Я хотел бы создать универсальный сценарий автоматической установки с использованием Kickstart, который будет помещен на компакт-диск и использоваться вместе со стандартным установщиком DVD, т.е. пользователю этого сценария необходимо будет добавить inst.ks=cdrom для загрузки параметров, а затем он будет установлен, например Fedora на машине запрашивает только пароли.

Кажется, что стандартной практикой является создание сценариев кикстарта с паролями (или хэшами паролей) в них, что не кажется идеальным, если вы собираетесь распространять сценарий среди третьих лиц. Я также хочу включить службу sshd в сценарии Kickstart, что позволит любому пользователю в локальной сети, знающему пароли по умолчанию, войти в систему. Конечно, я могу просто отключить аутентификацию по паролю в sshd, но теперь это становится беспорядочным, то есть я пытаюсь обойти общедоступные пароли по умолчанию (и я вполне могу что-то забыть).

Я новичок в Kickstart, я бы хотел, чтобы сценарий установки запрашивал / запрашивал / вводил пароли для конкретного сайта, и пока что я придумал два варианта:

  1. Спрашивать пароли в %pre раздел, а затем сгенерировать, например, accounts.ks с участием rootpw и user команды, которые будут включены из основного раздела команд.
  2. Используйте статические пароли по умолчанию и запускайте интерактивный скрипт при первой загрузке, который заставит пользователя изменить пароли по умолчанию. (Или, возможно, используйте chage в %post.)

Меня беспокоит, что, судя по моим поисковым запросам в Google, никто этого не делает, никто даже об этом не просит. :-) Кажется, все помещают окончательные пароли / хэши прямо в скрипты Kickstart. Таким образом, мне остается создать свой собственный интерактивный сценарий для обоих вариантов, что, я боюсь, в конечном итоге окажется плохим. Или, возможно, я неправильно понимаю всю концепцию (полу) автоматической установки с помощью Kickstart.

Какова стандартная практика создания универсальных сценариев кикстарта для подобных сценариев, когда вам нужно распространять сценарий, а не заставлять пользователей его редактировать?

Если вы не дадите ответа на что-то, что требуется, Anaconda предложит это пользователю.

Я проверил это, закомментировав строки пользователя и rootpw в файле Kickstart. После установки все остальное будет предварительно заполнено, но меня попросят создать пароль root и пользователя. (пользователь не является обязательным)

В текст В этом режиме установка будет ожидать ввода данных пользователем перед продолжением. В графический В этом режиме установка будет продолжена, пока вы сможете ввести пароль во время установки пакета. Наконец, cmdline режим не поддерживает взаимодействие с пользователем и будет остановлен.

Пример:

Предыдущие экраны Anaconda были пропущены, и установка перешла непосредственно к установке пакета. В конце установки Anaconda ожидает выбора пароля root и, при необходимости, создания пользователя.

(Это может быть немного поздно, а может, и немного долго, но это именно то, что я сделал, и на то, чтобы довести его до совершенства, потребовались месяцы / годы)

Вся информация об установке (например, загрузочный носитель / дерево установки, пакеты, сценарии) находится на главном сервере. Файл кикстарта тоже есть. Кстати: я использую Fedora, но не думаю, что это имеет какое-либо значение для этого метода. См. Эту ссылку для получения дополнительной информации о как использовать pxe для загрузки и установки как Fedora это делает; он также включает очень полезные ссылки для каждого шага.

Не вдаваясь в подробности, это мой процесс:

1) настроить загрузочную установку с сервера через pxe. Файл pxe по умолчанию содержит список меню различных установок, которые вы хотите выполнить. они могут быть выполнены через NFS, FTP или HTTP. Мой - через nfs, поэтому параметр кикстарта, определяющий, где взять файл:

inst.ks = nfs: [IP-адрес сервера]: / [путь на сервере к файлу кикстарта].

Используйте ip = [параметры сети], чтобы указать параметры сети, которые будут использоваться от сервера к клиенту; оставьте поле пустым, чтобы использовать DHCP.

2) Создайте файл кикстарта (см. формат и команды).

3) В %pre напишите (на своем любимом языке сценариев) инструкции по кикстарт-установке для каждого типа установленной машины. Вы можете создать определенные списки пакетов, которые будут включены, а также различные строки установки, которые также будут включены.

4) В %post раздел написать код для выполнения настройки установленной системы (примечание: эти разделы можно запускать либо в chroot или non-chroot среды, а также у вас может быть несколько %post разделы.

5) Наконец, запустите каждую машину для загрузки из сети pxe, в меню, которое вскоре появится, выберите тип машины (или, возможно, имя) для установки, нажмите Enter, затем выпейте кофе, пока установка запускается автоматически (если не возникнет ошибка в сценарии, а может чего-то не хватает).

6) По завершении нажимаем на перезагрузку и вуаля

NB: вы можете получить доступ к командной строке загрузки через файл /proc/cmdline, чтобы вы могли добавить дополнительную информацию для %pre (например, имя хоста). Установщик игнорирует их.

NB (также): имейте в виду, что даже если доступ к сети доступен, преобразователь недоступен, поэтому вам придется использовать только IP-адреса.

Я надеюсь, что это поможет кому-то сделать этот процесс очень простым и, возможно, полезным.