4.4. Web コンソールインターフェイスで Image Builder の Blueprint にユーザーおよびグループを追加
現在、Web コンソールインターフェイスの Blueprint に、ユーザーやグループなどのカスタマイズを追加することはできません。この制限を回避するには、Web コンソールの Terminal タブを使用して、コマンドラインインターフェイス (CLI) ワークフローを使用します。
前提条件
- Blueprint が存在する。
vim
、nano
、emacs
などの CLI テキストエディターがインストールされている。インストールするには、以下のコマンドを実行します。# yum install editor-name
手順
1.Blueprint の名前を確認します。RHEL 7 Web コンソールの左側にある Image Builder (Image builder) タブを開いて、Blueprint の名前を表示します。
2.Web コンソールで CLI に移動します。左側でシステム管理タブを開いて、左側の一覧にある最後の項目 Terminal を選択します。
3.スーパーユーザー (root) モードに入ります。
$ sudo bash
認証情報を求められたら入力してください。端末は、Web コンソールにログインする際に入力した認証情報を再利用しません。
ホームディレクトリーで、root 権限を持つ新しいシェルが起動します。
4.Blueprint をファイルにエクスポートします。
# composer-cli blueprints save BLUEPRINT-NAME
5.BLUEPRINT-NAME.toml ファイルを、選択した CLI テキストエディターで編集し、ユーザーとグループを追加します。
重要
RHEL 7 の Web コンソールには、システムにあるテキストファイルを編集するのに使用する組み込み機能がないため、ここでは CLI テキストエディターを使用する必要があります。
- i.追加するすべてのユーザーに対して、このブロックをファイルに追加します。
[[customization.user]] name = "USER-NAME" description = "USER-DESCRIPTION" password = "PASSWORD-HASH" key = "ssh-rsa (...) key-name" home = "/home/USER-NAME/" shell = "/usr/bin/bash" groups = ["users", "wheel"] uid = NUMBER gid = NUMBER
PASSWORD-HASH を、パスワードハッシュに置き換えます。ハッシュを生成するには、以下のようなコマンドを実行します。$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
ssh-rsa (…) key-name を、公開鍵に置き換えます。その他のプレースホルダーを、適切な値に置き換えます。必要に応じて任意の行を省略します。ユーザー名のみが必須となります。 - ii.追加するすべてのユーザーグループに対して、このブロックをファイルに追加します。
[[customizations.group]] name = "GROUP-NAME" gid = NUMBER
iii.バージョン番号を大きくしてください。iv.ファイルを保存してエディターを閉じます。 - 6.Blueprint を Image Builder にインポートします。
# composer-cli blueprints push BLUEPRINT-NAME.toml
.toml
拡張子を含むファイル名を指定する必要がありますが、他のコマンドでは Blueprint の名前のみを使用することに注意してください。 - 7.Image Builder にアップロードしたコンテンツが編集内容と一致することを確認するには、Blueprint のコンテンツの一覧を表示します。
# composer-cli blueprints show BLUEPRINT-NAME
バージョンが、ファイルに指定したバージョンと一致するか、およびカスタマイズが存在するかどうかを確認します。重要Blueprint に含まれるパッケージも編集しないと、変更が適用されたことを確認するために使用できる情報が、RHEL 7 Web コンソールの Image Builder プラグインには表示されません。 - 8.特権シェルを終了します。
# exit
- 9.左側の Image Builder (Image builder) タブを開き、開いていたすべてのブラウザーとタブでページを更新します。これにより、読み込まれたページにキャッシュされた状態が、誤って変更を元に戻すことを防ぎます。