Azure VMのroot初期パスワードについて(Cent OS)
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 – |
3)rootになれたら、passwdコマンドでパスワードの初期化を行います。
[root@test-vm ~]# passwd New password: #新規設定するrootのパスワードを入力 |
これでrootのパスワードが設定できました。
Azure VMのrootのパスワードを設定する(keyでログインした場合)
Azure VM作成時にパスワードでは無く、keyで設定した場合にはどうなるでしょうか?
この場合も同じ方法で設定可能です。sudo実行時にパスワードを聞かれません。
sudo su -でルートになり、passwdコマンドでパスワードを初期化します。
[root@test-vm ~]# sudo su – [root@test-vm ~]# passwd 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 |
これでsudo権限を剥奪する事が出来ました。
※sudo権限の剥奪は必ずrootアカウントのパスワード設定後に実施して下さい。
認証方法にSSHキーを用いた場合はこちら。
その他のAzure VM初期設定(Cent OS)はこちら。