すべてのプロダクト
Search
ドキュメントセンター

:重要なシステムユーザーがLinuxインスタンスに存在しない場合はどうすればよいですか?

最終更新日:Apr 16, 2025

ルートアカウントなどの重要なシステムユーザーがLinux Elastic Compute Service (ECS) インスタンスに存在しない場合、インスタンスに接続できない場合があります。 インスタンスのヘルス診断機能を使用して、トラブルシューティングを実行できます。

前提条件

Linux ECSインスタンスは起動できず、インスタンスのヘルス診断機能によって診断されます。 診断レポートは、インスタンスのルートアカウントがヘルスチェックに失敗したことを示しています。

背景情報

問題の説明: Linuxオペレーティングシステムでは、/etc/passwdファイルにはシステム上のすべてのユーザーの基本情報が含まれ、/etc/shadowファイルにはユーザーのパスワード情報が含まれます。 ルートアカウントのユーザー名やパスワードなど、重要なシステムユーザーの情報がLinux ECSインスタンスのファイルにない場合、インスタンスに接続できません。

解決方法: /etc/passwdおよび /etc/shadowファイルを復元します。 また、システム上のグループの基本情報と、ユーザーとグループの関係に関する情報を含む /etc/groupファイルを復元する必要があります。

手順

  1. システムユーザーの正しい情報を含む参照構成ファイルを準備します。

    重要なシステムユーザーはLinuxディストリビューションによって異なり、Linux ECSインスタンスを使用したときにシステムユーザーが作成された可能性があります。 重要なシステムユーザーの情報がLinux ECSインスタンスにないという問題を解決するには、Linuxディストリビューションに基づいて操作を実行します。

    正常なLinux ECSインスタンスの設定ファイルを取得することを推奨します。 構成ファイルにはシステムユーザーの正しい情報が含まれており、トラブルシューティングの参照ファイルとして使用できます。 正常なLinux ECSインスタンスと障害のあるLinux ECSインスタンスが同じLinuxディストリビューションを使用し、同じソフトウェアでインストールされていることを確認します。 正常なLinux ECSインスタンス上の必要な設定ファイルへのパス:

    • /etc/passwd

    • /etc/shadow

    • /etc /group

    正常なLinux ECSインスタンスの設定ファイルにシステムユーザーの正しい情報を表示したり、設定ファイルをコンピューターにダウンロードしたりできます。 次の例では、CentOS 7.5を実行するECSインスタンスが使用されています。 設定ファイルのサンプル:

    • /etc/passwd

      root:x:0:0:root:/root:/bin/bash
      bin:x:1:1:bin:/bin:/sbin/nologin
      daemon:x:2:2:daemon:/sbin:/sbin/nologin
      adm:x:3:4:adm:/var/adm:/sbin/nologin
      lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
      sync:x:5:0:sync:/sbin:/bin/sync
      shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
      halt:x:7:0:halt:/sbin:/sbin/halt
      mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
      operator:x:11:0:operator:/root:/sbin/nologin
      games:x:12:100:games:/usr/games:/sbin/nologin
      ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
      nobody:x:99:99:Nobody:/:/sbin/nologin
      systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
      dbus:x:81:81:System message bus:/:/sbin/nologin
      polkitd:x:999:998:User for polkitd:/:/sbin/nologin
      sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
      postfix:x:89:89::/var/spool/postfix:/sbin/nologin
      chrony:x:998:996::/var/lib/chrony:/sbin/nologin
      ntp:x:38:38::/etc/ntp:/sbin/nologin
      tcpdump:x:72:72::/:/sbin/nologin
      nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
    • /etc/shadow

      root:$6$Q9lA****/t1KPM$JLqO59UTxwGm****/rU7bHL0q5TVAij****/KeWAWPiO.6booVwpp7rdR9****.irQ6nso3YGVSqQqpyT****.:18668:0:99999:7:::
      bin:*:17632:0:99999:7:::
      daemon:*:17632:0:99999:7:::
      adm:*:17632:0:99999:7:::
      lp:*:17632:0:99999:7:::
      sync:*:17632:0:99999:7:::
      shutdown:*:17632:0:99999:7:::
      halt:*:17632:0:99999:7:::
      mail:*:17632:0:99999:7:::
      operator:*:17632:0:99999:7:::
      games:*:17632:0:99999:7:::
      ftp:*:17632:0:99999:7:::
      nobody:*:17632:0:99999:7:::
      systemd-network:!!:17864::::::
      dbus:!!:17864::::::
      polkitd:!!:17864::::::
      sshd:!!:17864::::::
      postfix:!!:17864::::::
      chrony:!!:17864::::::
      ntp:!!:17864::::::
      tcpdump:!!:17864::::::
      nscd:!!:17864::::::
    • /etc /group

      root:x:0:
      bin:x:1:
      daemon:x:2:
      sys:x:3:
      adm:x:4:
      tty:x:5:
      disk:x:6:
      lp:x:7:
      mem:x:8:
      kmem:x:9:
      wheel:x:10:
      cdrom:x:11:
      mail:x:12:postfix
      man:x:15:
      dialout:x:18:
      floppy:x:19:
      games:x:20:
      tape:x:33:
      video:x:39:
      ftp:x:50:
      lock:x:54:
      audio:x:63:
      nobody:x:99:
      users:x:100:
      utmp:x:22:
      utempter:x:35:
      input:x:999:
      systemd-journal:x:190:
      systemd-network:x:192:
      dbus:x:81:
      polkitd:x:998:
      ssh_keys:x:997:
      sshd:x:74:
      postdrop:x:90:
      postfix:x:89:
      chrony:x:996:
      ntp:x:38:
      tcpdump:x:72:
      nscd:x:28:
  2. 障害のあるLinux ECSインスタンスに接続します。

    修復ディスクがECSインスタンスに接続されている場合、仮想ネットワークコンピューティング (VNC) のみを使用してインスタンスに接続できます。 詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

  3. 障害のあるECSインスタンスの元のシステムディスクのマウント情報を表示します。

    ECSインスタンスに一時的にアタッチされた修復ディスクでは、インスタンスの元のシステムディスクのファイルシステムが一時ディレクトリにマウントされます。 次のいずれかの方法を使用して、一時ディレクトリを表示できます。

    • 元のシステムディスクのディスク詳細ページの [関連インスタンス] セクションで、一時ディレクトリを表示します。 例: /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse **** bp19bspzms79kqse **** は、ECSインスタンスの元のシステムディスクのシリアル番号です。

    • 修復ディスクでmountコマンドを実行して、一時ディレクトリを表示します。 たとえば、障害のあるECSインスタンスの元のシステムディスクのデバイス名が /dev/vdaの場合、次のコマンドを実行します。

      mount | grep /dev/vda

      次のコマンド出力が返されます。

      /dev/vda1 on /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse**** type ext4 (rw,relatime)
  4. を実行します。Run thechrootコマンドを実行して、ルートディレクトリを障害のあるECSインスタンスの元のシステムディスクがマウントされている一時ディレクトリに変更し、chroot環境。

    構成ファイルを復元するには、元のシステムディスクが存在する一時ディレクトリに移動する必要があります。 たとえば、一時ディレクトリが /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse **** の場合、次のコマンドを実行します。

    chroot /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****
  5. chroot環境で、次のコマンドを実行して /etc/passwdおよび /etc/shadowファイルをバックアップします。

    cp /etc/passwd /etc/passwd.bak
    cp /etc/shadow /etc/shadow.bak
  6. で不足している情報を補足/etc/passwdファイルを作成します。

    1. ECSコンソールで、ECSインスタンスの正常性診断レポートを表示して、重要なシステムユーザーのどの情報が欠落しているかを判断します。

    2. 参照では/etc/passwdファイルを作成し、重要なシステムユーザーの前述の欠落情報を含む行を見つけて、その行をコピーします。

    3. コピーした行をの正しい位置に貼り付けます。/etc/passwdファイル内のchroot環境。

      説明

      VNCのみを使用して、修復中のECSインスタンスに接続できます。 コピーした情報を貼り付けるには、VNCログオンインターフェイスの左上隅にあるをクリックしVNC复制命令输入ます。

      /etc/passwdファイルのデータ形式の説明:

      ユーザー情報のサンプル行:

      postfix:x:89:89::/var/spool/postfix:/sbin/nologin

      ユーザー情報の各行は、コロン (:) で次の形式の7つのセグメントに区切ります。

      <Username>:<Password>:<UID>:<GID>:<User description>:<Home directory>:<Logon shell>

      ユーザー情報を貼り付けた後、貼り付けた情報を確認します。

      • 貼り付けたUIDは、ファイル内の他のユーザーのUIDとは異なる必要があります。

      • 貼り付けられたGIDは、chroot環境の /etc/groupファイルに含まれている必要があります。 貼り付けられたGIDがchroot環境の /etc/groupファイルに含まれていない場合は、貼り付けられたGIDを含む行を参照 /etc/groupファイルからchroot環境の /etc/groupファイルにコピーします。 コピーされたGIDが、chroot環境の /etc/groupファイル内の他のユーザーのGIDと異なることを確認します。

        例:

        • 貼り付けられたGIDが89で、chroot環境の /etc/groupファイルにGIDが含まれている場合、chroot環境の /etc/groupファイルを変更する必要はありません。

        • 貼り付けられたGIDが89で、chroot環境の /etc/groupファイルにGIDが含まれていない場合は、参照 /etc/groupファイルのGIDを含む行をchroot環境の /etc/groupファイルにコピーします。 コピーされたGIDが、chroot環境の /etc/groupファイル内の他のユーザーのGIDと異なることを確認します。

      • 参照 /etc/groupファイルの設定が、情報がコピーされたグループとユーザー間の関係を示す場合、chroot環境の /etc/groupファイルに設定をコピーする必要があります。

        たとえば、chroot環境の /etc/passwdファイルにpostfixユーザーの情報がない場合は、参照ファイル /etc/passwdおよび /etc/groupからコピーした対応する情報を補足します。 参照 /etc/groupファイルのmail:x:12:postfixなどの設定で、postfixユーザーがmailグループのメンバーであることが示されている場合は、chroot環境の /etc/groupファイルにも設定をコピーする必要があります。

  7. 不足している情報を補足/etc/shadowファイルを作成します。

    1. ECSコンソールで、ECSインスタンスの正常性診断レポートを表示して、重要なシステムユーザーのどの情報が欠落しているかを判断します。

    2. 参照では/etc/shadowファイルを作成し、重要なシステムユーザーの前述の欠落情報を含む行を見つけて、その行をコピーします。

    3. コピーした行をの正しい位置に貼り付けます。/etc/shadowファイル内のchroot環境。

      説明

      VNCのみを使用して、修復中のECSインスタンスに接続できます。 コピーした情報を貼り付けるには、VNCログオンインターフェイスの左上隅にあるをクリックしVNC复制命令输入ます。

      chroot環境で /etc/shadowファイルに情報がない場合は、ファイルを変更する必要はありません。

  8. chroot環境を終了し、障害のあるECSインスタンスのステータスを確認します。

    1. 終了コマンドを実行します。chroot環境。

    2. ECSコンソールの [トラブルシューティング] ページに移動し、ページ下部の [履歴の表示] をクリックします。 [インスタンスの正常性診断] タブで、ECSインスタンスから修復ディスクをデタッチし、インスタンスを起動します。

    3. ECSインスタンスに接続し、インスタンスに接続していることを確認します。

その他のソリューション

障害のあるECSインスタンスを修復するには、障害のあるECSインスタンスのシステムディスクを正常なECSインスタンスにアタッチします。 詳細については、次をご参照ください: キーシステムユーザーがLinuxインスタンスに存在しません