Azure VMのroot初期パスワードについて(Cent OS)

2020-07-05

Cent OSのAzure Virtual Machine(Azure VM)を作成した場合、rootアカウントの初期パスワードは非公開となっておりAzure VM作成時点では分かりません。

では、どうするのか? 

Azure VM時に設定した初期アカウントにはsudo allの権限が付与されています。
このsudo権限を利用してrootになり、root自身としてパスワードの初期化を実施する事でパスワードを設定する事が出来ます。

今回は、Cent OSのAzure VMでrootアカウントパスワード設定から初期アカウントのsudo権限剥奪までをやってみました。

スポンサーリンク

Azure VMのrootのパスワードを設定する

1)まずAzure VM作成時に設定したアカウントでOSにログインします。

2)sudo su -でルートになります。この際にパスワードを聞かれます。Azure VM作成時に設定したユーザーのパスワードを入力します。

[user@test-vm ~]$ sudo su –
Password:  #Azure VM作成時のユーザーパスワード
[root@test-vm ~]#

3)rootになれたら、passwdコマンドでパスワードの初期化を行います。

[root@test-vm ~]# passwd
Changing password for user root.

New password: #新規設定するrootのパスワードを入力
Retype new password: #新規設定するrootのパスワードを再入力

これでrootのパスワードが設定できました。

Azure VMのrootのパスワードを設定する(keyでログインした場合)

Azure VM作成時にパスワードでは無く、keyで設定した場合にはどうなるでしょうか?

この場合も同じ方法で設定可能です。sudo実行時にパスワードを聞かれません。

sudo su -でルートになり、passwdコマンドでパスワードを初期化します。

[root@test-vm ~]# sudo su –

[root@test-vm ~]# passwd
Changing password for user root.

New password: #新規設定するrootのパスワードを入力
Retype new password: #新規設定するrootのパスワードを再入力

同じくrootのパスワードが設定できました

初期作成アカウントのsudo権限を剥奪する

Azure VM作成時の初期アカウントには、sudo権限が付与されています。

セキュリティ面を考えると、sudo権限を剥奪しておいた方が良いと思われます。

今回はこちらの手順もあわせて記載します。

初期作成アカウントのsudo権限は、/etc/sudoers.d/90-cloud-init-users(もしくは/etc/sudoers.d/waagent)にて定義されています。これをコメントアウトする事でsudo権限が剥奪出来ました。

[root@test-vm ~]#vi /etc/sudoers.d/waagent 

もしくは

[root@test-vm ~]#vi /etc/sudoers.d/90-cloud-init-users

#コメントアウトします。

username ALL=(ALL) ALL

#username ALL=(ALL) ALL

これでsudo権限を剥奪する事が出来ました。

※sudo権限の剥奪は必ずrootアカウントのパスワード設定後に実施して下さい。

認証方法にSSHキーを用いた場合はこちら。

その他のAzure VM初期設定(Cent OS)はこちら。