web-dev-qa-db-ja.com

キックスタート、ユニバーサルインストールスクリプト、デフォルトのパスワード

Kickstartを使用してユニバーサル自動インストールスクリプトを作成したいと思います。これはCDに配置され、標準のDVDインストーラーと組み合わせて使用​​されます。つまり、このスクリプトのユーザーは、起動オプションにinst.ks=cdromを追加してから追加する必要があります。それは例えばインストールしますパスワードのみを要求するマシン上のFedora。

標準的な方法は、パスワード(またはパスワードハッシュ)を含むキックスタートスクリプトを生成することであるように思われます。これは、スクリプトをサードパーティに配布する場合には理想的ではないようです。また、キックスタートスクリプトでsshdサービスを有効にしたいのですが、これにより、デフォルトのパスワードを知っているLAN上の誰もがマシンにログインできるようになります。もちろん、sshdでパスワード認証を無効にすることもできますが、今では面倒になっています。つまり、デフォルトのパスワードに関する一般の知識を回避しようとしています(そして何かを忘れている可能性があります)。

Kickstartを初めて使用するので、インストールスクリプトを作成して、サイト固有のパスワードを要求/プロンプト/入力します。これまでのところ、次の2つのオプションを考え出しました。

  1. %preセクションでパスワードを要求してから、たとえばaccounts.ksrootpwおよびuserコマンド。これらはメインコマンドセクションから含まれます。
  2. 静的なデフォルトのパスワードを使用し、最初の起動時にインタラクティブなスクリプトを実行して、ユーザーにデフォルトのパスワードの変更を強制します。 (または、%postchageを使用することもできます。)

私の心配は、私のグーグル検索に基づいて、誰もそれをしていない、誰もそれを求めてさえいないということです。 :-)誰もが最終的なパスワード/ハッシュをキックスタートスクリプトに直接配置しているようです。したがって、これにより、両方のオプションに対して独自のインタラクティブスクリプトを作成することになりますが、これは最終的には悪くなるのではないかと心配しています。あるいは、キックスタートを使用した(半)自動インストールの概念全体が間違っているのかもしれません。

このようなシナリオでユニバーサルキックスタートスクリプトを作成するための標準的な方法は何ですか?スクリプトを配布する必要があり、ユーザーにスクリプトの編集を強制する必要はありませんか?

2
woky

必要なものに対する回答を提供しない場合、Anacondaはユーザーにその回答を求めます。

キックスタートファイルのユーザー行とrootpw行をコメントアウトすることを確認しました。インストール時に、他のすべてが事前に入力されていますが、rootパスワードとユーザーを作成するように求められます。 (ユーザーはオプションです)

textモードでは、インストールは続行する前にユーザー入力を待ちます。 graphicalモードでは、パッケージのインストール中にパスワードを指定できるようにしながら、インストールが続行されます。最後に、cmdlineモードはユーザー操作をサポートしておらず、停止します。

例:

以前のAnaconda画面はスキップされ、インストールは直接パッケージインストールに移されました。インストールの最後に、Anacondaはrootパスワードが選択され、オプションでユーザーが作成されるのを待ちます。

Graphical Kickstart

1
Aaron Copley

(これは少し遅れるかもしれませんし、少し長いかもしれませんが、これはまさに私がやったことであり、完璧になるまでに数ヶ月/年かかりました)。

すべてのインストール情報(ブートメディア/インストールツリー、パッケージ、スクリプトなど)はメインサーバーにあります。キックスタートファイルもあります。ところで:私はFedoraを使用していますが、それがこの方法に実際の違いをもたらすとは思いません。 pxeを使用して起動およびインストールする方法 の詳細については、このリンクを参照してください。Fedoraの実行方法。また、各ステップの非常に便利なリンクも含まれています。

あまり詳細に立ち入ることなく、これが私のプロセスです。

1)サーバーからpxe経由でブートインストールを設定します。デフォルトのpxeファイルには、実行するさまざまなインストールのメニューリストが含まれています。これらは、NFS、FTP、またはHTTPを介して実行できます。鉱山はnfs経由であるため、ファイルを取得する場所を定義するキックスタートパラメーターは次のとおりです。

inst.ks = nfs:[server ip]:/ [キックスタートファイルへのサーバー上のパス]。

Ip = [network settings]を使用して、サーバーからクライアントに使用するネットワークパラメーターを指定します。 DHCPを使用するには、空白のままにします。

2)キックスタートファイルを作成します( フォーマットとコマンド を参照)。

3)%preセクションに、使用しているマシンインストールの種類ごとにキックスタートインストールの手順を(お気に入りのスクリプト言語で)記述します。含めるパッケージの特定のリスト、および含めるさまざまなインストール行を作成できます。

4)%postセクションに、インストールされたシステムの構成を実行するコードを記述します(注:これらのセクションは、chrootまたはnon-chroot環境のいずれかで実行でき、複数持つこともできます%postセクション。

5)最後に、ネットワークpxeから起動するように各マシンを起動します。すぐに表示されるメニューで、インストールするマシンの種類(または名前)を選択し、Enterキーを押して、インストールが自動的に実行されている間にコーヒーを飲みます(エラーがない限り)スクリプト内、または何かが不足している可能性があります)。

6)完了したら、再起動をクリックして、出来上がり

注意:ファイル/proc/cmdlineを介してブートコマンドラインにアクセスできるため、%preの追加情報(ホスト名など)を入力できます。これらはインストーラーによって無視されます。

注意(また):ネットワークアクセスが利用可能であっても、リゾルバーは利用できないため、IPアドレスのみを使用する必要があることに注意してください。

これが誰かがこのプロセスを非常に単純にし、おそらく役立つようにするのに役立つことを願っています。

0
daytooner