Linux インスタンスのユーザーアカウントを管理する - Amazon Elastic Compute Cloud

Linux インスタンスのユーザーアカウントを管理する

各 Linux インスタンスは、デフォルトの Linux システムユーザーで起動されます。インスタンスには、ユーザーを追加することも、削除することもできます。

デフォルトのユーザーの場合、デフォルトのユーザー名は、インスタンスの起動時に指定した AMI によって決定されます。

注記

デフォルトでは、パスワード認証とルートログインは無効になっており、また、sudo は有効化されています。インスタンスにログインするには、キーペアを使用する必要があります。ログインの詳細については、「Linux インスタンスへの接続」を参照してください。

ユーザーは、インスタンスのパスワード認証とルートログインを許可できます。詳細については、「インスタンスのオペレーティングシステムに関するドキュメント」を参照してください。

注記

Linux システムユーザーと IAM ユーザーを混同しないようにしてください。詳細については、『IAM ユーザーガイド』の「IAM ユーザー」を参照してください。

デフォルトのユーザー名

EC2 インスタンスでのデフォルトのユーザー名は、そのインスタンスの起動時に指定した AMI によって決まります。

デフォルトのユーザー名は以下のとおりです。

  • AL2023、Amazon Linux 2 または Amazon Linux AMI の場合、ユーザー名は ec2-user です。

  • Centos AMI の場合、ユーザー名は centos または ec2-userです。

  • Debian AMI の場合は、ユーザー名は admin です。

  • Fedora AMI の場合、ユーザー名は fedora または ec2-user です。

  • RHEL AMI の場合、ユーザー名は ec2-user または root です。

  • SUSE AMI の場合、ユーザー名は ec2-user または root です。

  • Ubuntu AMI の場合、ユーザー名は ubuntu です。

  • SUSE AMI の場合、ユーザー名は ec2-user です。

  • Bitnami AMI の場合は、ユーザー名は bitnami です。

注記

他の Linux ディストリビューションのデフォルトのユーザー名を確認するには、AMI プロバイダーに確認してください。

考慮事項

デフォルトのユーザーを使用するのが多くのアプリケーションに適しています。ただし、個人が自分のファイルとワークスペースを持つことができるように、ユーザーを追加することを選択できます。さらに、新しいユーザー用にユーザーを作成することは、デフォルトユーザーへのアクセス権を複数のユーザーに (経験のないユーザーも含めて) 与えるよりも、はるかに安全です。これはデフォルトのユーザーが不適切に使用された場合、システムにさまざまな損害を与える可能性があるためです。詳細については、「EC2 インスタンスの保護のヒント」を参照してください。

Linux システムのユーザーを使用してユーザーが EC2 インスタンスに SSH アクセスできるようにするには、SSH キーをユーザーと共有する必要があります。または、EC2 Instance Connect を使用して、SSH キーを共有および管理せずにユーザーにアクセスを提供できます。詳細については、「EC2 Instance Connect を使用して Linux インスタンスに接続する」を参照してください。

ユーザーの作成

最初にユーザーを作成してから、ユーザーがインスタンスに接続してログインできるようにする SSH パブリックキーを追加します。

ユーザーを作成するには
  1. 新しいキーペアを作成します。この .pem ファイルは、ユーザーを作成するユーザーに提供する必要があります。ユーザーがインスタンスに接続するには、このファイルを使用する必要があります。

  2. 前のステップで作成したキーペアからパブリックキーを取得します。

    $ ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem

    コマンドは、次の例に示すように、パブリックキーを返します。

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
  3. インスタンスに接続します。

  4. adduser コマンドを使用して、ユーザーを作成し、システムに追加します (/etc/passwd ファイルにエントリが追加されます)。このコマンドでも、グループが作成され、ユーザーのホームディレクトリが作成されます。この例では、ユーザーは newuser という名前になります。

    • Amazon Linux および Amazon Linux 2

      Amazon Linux および Amazon Linux 2 では、パスワード認証が無効化されたデフォルトの状態で、ユーザーが作成されます。

      [ec2-user ~]$ sudo adduser newuser
    • Ubuntu

      パスワード認証が無効化されたユーザーを作成するには、--disabled-password パラメータを含めます。

      [ubuntu ~]$ sudo adduser newuser --disabled-password
  5. 新しいユーザーに切り替えて、作成するディレクトリとファイルが適切な所有権を持つようにします。

    [ec2-user ~]$ sudo su - newuser

    シェルセッションが新しいユーザーに切り替わったことを示すために ec2-user から newuser に変更するように求められます。

  6. ユーザーに SSH パブリックキーを追加します。以下のサブステップで説明しているように、最初に SSH キーファイル用のディレクトリをユーザーのホームディレクトリに作成し、次にキーファイルを作成して、最後に公開キーをキーファイルに貼り付けます。

    1. .ssh ホームディレクトリに newuser ディレクトリを作成し、そのファイルのアクセス許可を 700 (所有者のみ、読み取り、書き込み、削除が可能) に変更します。

      [newuser ~]$ mkdir .ssh
      [newuser ~]$ chmod 700 .ssh
      重要

      厳密なファイル権限がなければ、ユーザーはログインできません。

    2. authorized_keys という名前のファイルを .ssh ディレクトリに作成し、そのファイルのアクセス許可を 600 (所有者のみ、読み取りおよび書き込みが可能) に変更します。

      [newuser ~]$ touch .ssh/authorized_keys
      [newuser ~]$ chmod 600 .ssh/authorized_keys
      重要

      厳密なファイル権限がなければ、ユーザーはログインできません。

    3. お好みのテキストエディタ (例: vimnano) で、authorized_keys ファイルを開きます。

      [newuser ~]$ nano .ssh/authorized_keys

      ステップ 2 で取得したパブリックキーをファイルに貼り付け、変更を保存します。

      重要

      パブリックキーは、必ず 1 つの連続した行に貼り付けてください。パブリックキーを複数行に分割することはできません。

      これで、authorized_keys ファイルに追加したパブリックキーの対であるプライベートキーを使用して、インスタンスの newuser ユーザーにログインできるようになりました。Linux インスタンスに接続するさまざまな方法の詳細については、「Linux インスタンスへの接続」を参照してください。

ユーザーの削除

ユーザーが不要になった場合、今後使用されないようにそのユーザーを削除できます。

システムからユーザーアカウントを削除するには、userdel コマンドを使用します。-r パラメータを指定すると、ユーザーのホームディレクトリとメールスプールが削除されます。ユーザーのホームディレクトリとメールスプールを維持するには、-r パラメータを省略します。

[ec2-user ~]$ sudo userdel -r olduser