🌟

【AWS】【EC2】ec2-userとrootのパスワードを設定しよう

2025/01/04に公開

EC2 インスタンス作成時にはec2-user や root はパスワードが設定されていません。

なので、パスワードなしに root に昇格できたり、sudo が使えるのですが、

セキュリティ的によろしくないので、設定していきます

ec2-user のパスワードを設定する

ec2-userで EC2 インスタンスに ssh 接続しましょう

できたら、下記のように表示されます

Last login: Sun Sep 25 14:31:22 2022 from m106072141098.v4.enabler.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-×××-××-××-×× ~]$

次のように passwdコマンドを実行し、設定したいパスワードを 2 回入力します

sudo passwd ec2-user

(実行結果) ※パスワードを入力してもウインドウに表示されませんので、ご注意ください

ec2-user@ip-×××-××-××-×× ~]$ sudo passwd ec2-user
Changing password for user ec2-user.
New password:            ※1回目のパスワード入力
Retype new password:        ※2回目のパスワード入力
passwd: all authentication tokens updated successfully.

sudo コマンドを使用する際にパスワードを要求する

ユーザーの sudo コマンド実行権限の設定は sudoersを編集します

また、sudoers を安全に編集する visudo コマンドを使用します ※ vi コマンドでも編集できます

visudo に関しては下記をご参考ください

https://eng-entrance.com/linux-command-visudo

下記コマンドを実行すると、ファイルを編集できるようになります

[ec2-user@ip-×××-××-××-×× ~]$ sudo visudo -f /etc/sudoers.d/cloud-init

以下の手順でファイルを編集していきます

  1. iを押し、INSERT モードにする。(下に --INSERT---- )と表示されます
  2. ec2-user ALL = (ALL) ALLと入力する。
  3. Escを押し、INSERT モードから抜ける
  4. :wq! と入力し、Enterを押し、ファイルを保存する。

パスワードが設定できているか確認しよう

下記コマンドを使用して、root ユーザーに切り替えましょう

入力するパスワードは先ほど設定したものです

sudo su -

(実行結果)

[ec2-user@ip-×××-××-××-×× ~]$ sudo su -

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for ec2-user:  ※ここまでの設定ができていれば、パスワードを求められます

[root@ip-×××-××-××-×× ~]#

うまくいけば、root@ と表示され、root ユーザーになれます

root ユーザーのパスワードも設定しよう

先ほどと同様に passwdコマンドを使用します。

ただし、root ユーザーなので、sudo はいりません

(実行結果)

[root@ip-×××-××-××-×× ~]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

パスワードが設定できているか確認します

次の手順を実行してください

  1. logoutコマンドで root ユーザーからログアウトする。
  2. su - コマンドで、再度 root ユーザーに切り替える。
  3. root ユーザーのパスワードを入力する。
  4. root ユーザーに切り替わる

(実行結果)

[root@ip-×××-××-××-×× ~]# logout
[ec2-user@ip-×××-××-××-×× ~]$ su -
Password:
Last login: Thu Oct  6 15:21:20 UTC 2022 on pts/0
[root@ip-×××-××-××-×× ~]#

これでパスワードを設定できました

ちなみに root ユーザーに切り替える際に

  1. sudo su - のように sudo を使用する → 現在使用しているユーザーのパスワードを入力する
  2. su - のように sudo を使用しない → root ユーザーのパスワードを入力する

Discussion