AWS amazon linuxではrootユーザーはどうやってログイン出来るの?パスワードは何?

AWS Amazon Linuxでのユーザーのパスワードはどのようになっているのでしょうか?

  • パスワードが設定される?
  • 直接rootユーザーでログインできる?

環境・前提条件

  • AWS上のAmazon Linux

デフォルト設定について確認しました

結論、rootユーザーにパスワードは無く、アカウントはパスワードロックでされてパスワードではログインできない

image

上記は、ユーザーパスワード情報が入っている「/etc/shadow」を確認した画面です。
rootユーザーを見ますと、第二フィールドのパスワードハッシュが入っている場所にハッシュが入っていません。

つまり、パスワードは存在しなく、パスワードロックがかかっている事が分かります。

root:*LOCK*:14600::::::

shadowのマニュアルを見てrootの設定を確認すると

image

以下のコマンドでshadowファイルのマニュアルを開きます

man 5 shadow

すると第二フィールドの「encrypted password(暗号化されたパスワード)」について以下の説明があります。

「パスワードフィールドがcrypt(3)で有効ではないいくつかの文字列が含まれている場合(例えば、!または* )
ユーザーはUNIXのパスワードを使用してログインできなくなります。
(ただし、ユーザーは他の手段によってシステムログインすることができます)」

とあります。
つまり、rootユーザーはパスワードは設定しておらず、パスワードを使ってのシステムログインは出来ない状態です。

rootユーザーでログインするには?他の手段によってシステムログインする方法

AWS amazon linux環境でrootユーザーでログインするには

  1. sshでデフォルトの「ec2-user」でログイン
  2. 「sudo su -」コマンドでrootになる

のステップを踏むことでrootユーザーになれます。

パスワードではrootユーザーになれませんが、sudoコマンドではパスワード無しでrootユーザーになれます。

 

では「ec2-user」のパスワードは?

image

実は「ec2-user」も「root」ユーザーと同じくパスワード無しでパスワードロックがかかっています。

つまり、ec2-userもパスワードでログイン出来ない状態と言うことですね。
これは、amazon linuxを作成した時に「キーペア」を作成し、プライベートキーファールを入手していると思います。

image

このプライベートキーファイルを使って、ec2-userでssh経由でログインすることが出来ます。

ではrootユーザーもsshでログインできるの?

image

rootユーザーはsshでログインできないように、「sshd」の設定に上記のように設定されています。
このファイルは以下のコマンドで編集が可能です

vi /etc/ssh/sshd_config

設定されている内容「PermitRootLogin forced-commands-only」の内容としては
「コマンドとしてはログインは出来るが、対話的なログインは出来ない。」という意味になります。

rootの鍵さえ作れば、リモートから「sshコマンドでrootでシェル実行」なんて事は実現出来るということです。

 

rootユーザーやec2-userのようにパスワードロックをかける方法

いくつか方法はありますが、「passwd」コマンドを利用した方法を紹介します。

パスワードロック方法

以下のコマンドをrootユーザーで実行することにより「test」ユーザーにパスワードロックをかけることが出来ます。

passwd –l test

image

「/etc/shadow」ファイルのパスワードフィールドに「!!」文字が入り、パスワードロックがかかりました。
上記「test」ユーザーは一度パスワードを設定しましたが、パスワードロックをかけた例です。

この場合も、設定したパスワードではシステムにログインできなくなります。

パスワードロックの解除方法

以下のコマンドをrootユーザーで実行します

passwd –u test

上記は「test」ユーザーのパスワードロックを解除するコマンドになります

 

最後にパスワード無しにした場合。パスワードフィード無し

image

最後に、「/etc/shadow」ファイルを直接修正し、パスワード無し設定にした場合
これは本当にパスワード無しでログイン出来てしまうユーザーが出来ますので、注意しましょう。

※ そもそもAWSのamazon linuxではsshdの設定「/etc/ssh/sshd_config」で

  • パスワード認証ログインを許可していません
  • パスワード無しログインを許可していません

image

ので、sshとしては問題無いですが

なるべく、「/etc/shaodw」ファイルを直接編集するのは避けましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です