第7章 cloud-init を使用した認証の設定
cloud-init ユーティリティーを使用して、ユーザー、アクセス権、およびパスワードを管理できます。具体的には、仮想マシンで次のいずれかを実行するように cloud-init を設定できます。
-
usersセクションでユーザーを作成して、記述します。usersセクションを追加する場合は、そのセクションでデフォルトのユーザーオプションも設定する必要があります。セクションを変更して、初期システム設定にユーザーを追加したり、追加のユーザーオプションを設定したりすることもできます。 -
usersセクションにsudoおよびgroupsエントリーを追加して、ユーザーを sudoer として設定します。 -
自分だけが
rootユーザーの権限を所有するようにユーザーデータを設定します。 -
パスワードをリセットするには、最初のログイン時に
cloud-userにcloud-userのパスワードを強制的に変更させます。 -
ユーザーリストを作成して、
rootパスワードを設定します。
前提条件
データソースの要件に応じて、
user-dataファイルを編集するか、次のディレクティブをcloud.cfg.dディレクトリーに追加する。注記cloud-initが、ユーザーディレクティブを含むファイルを認識できるように、すべてのユーザーディレクティブはファイルの最上部に#cloud-configが含まれます。cloud.cfg.dディレクトリーにディレクティブを含める場合は、ファイル名を*.cfgとし、ファイルの最上部に常に#cloud-configを含めます。
手順
ユーザーとユーザーオプションを追加 します。
デフォルトでは、
selinux-user値がない場合、ユーザーはunconfined_uとラベル付けされます。注記この例では、ユーザー
user2をusersとwheelの 2 つのグループに配置します。usersセクションを追加または変更し、ユーザーを追加します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
cloud-userを、指定する他のユーザーと共に作成したデフォルトユーザーにするには、セクションの最初のエントリーとしてdefaultを追加することを確認してください。これが最初のエントリーでない場合は、cloud-userは作成されません。
sudo ユーザーをユーザーリストに追加 します。
-
sudoエントリーを追加し、ユーザーアクセスを指定します。たとえば、sudo: ALL=(ALL) NOPASSWD:ALLは、ユーザーに無制限のユーザーアクセスを許可します。 groupsエントリーを追加し、ユーザーを含むグループを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ユーザーに排他的な
rootアクセスを設定 します。nameオプションを変更して、usersセクションにユーザーrootのエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
rootユーザーの SSH 鍵を設定します。users: - name: root ssh_pwauth: True ssh_authorized_keys: - ssh-rsa AA..vz user@domain.comusers: - name: root ssh_pwauth: True ssh_authorized_keys: - ssh-rsa AA..vz user@domain.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
デフォルトの
cloud-initユーザー名を変更するには、次の手順に従います。user: <username>の行を追加します。<username> は新しいデフォルトのユーザー名に置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新しいユーザーのパスワードをリセット します。
chpasswd: {expire: False}の行をchpasswd: {expire: True}に変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記-
これはパスワードを失効させます。なぜなら、
passwordとchpasswdは特に指定がない限り、デフォルトのユーザーで動作するからです。 -
これはグローバル設定です。
chpasswdをTrueに設定すると、作成するすべてのユーザーが、ログイン時にパスワードを変更する必要があります。
-
これはパスワードを失効させます。なぜなら、
root パスワードを設定 します。
chpasswdセクションにユーザーリストを作成します。注記空白は重要です。ユーザーリストのコロンの前後に空白を含めないでください。空白が含まれている場合、パスワードは空白を入れた設定となります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この方法を使用してユーザーパスワードを設定する場合は、このセクションの すべてのパスワード を設定する必要があります。