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

:Linux インスタンスでの「su: failed to execute /bin/bash: Permission denied」エラーの解決

最終更新日:Nov 12, 2025

問題の説明

su コマンドを使用してユーザーを切り替えると、次のエラーが表示されます。

su: failed to execute /bin/bash: Permission denied

原因

このエラーは、/bin/bash へのパスに対する権限が不十分であることを示します。具体的には、ファイルまたは親ディレクトリに実行 (x) 権限がありません。この権限がないと、システムは新しいシェルセッションを開始するために /bin/bash 実行可能ファイルにアクセスできません。

解決策

  1. ECS インスタンスにログインします。

    1. [ECS コンソール - インスタンス] に移動します。トップナビゲーションバーで、ターゲットリージョンとリソースグループを選択します。

    2. ターゲットインスタンスの詳細ページに移動します。[接続] をクリックし、[Workbench] を選択します。ページのプロンプトに従ってターミナルにログインします。

  2. 不変属性を確認して削除します。

    ファイルに不変属性または追加のみの属性がある場合、その属性を削除するまで権限を変更することはできません。

    1. 不変属性を確認します。

      sudo lsattr /bin/bash
      # 'a' (追加のみ) 属性が設定されていることを示します
      ----a---------e------ /bin/bash
      # 'i' (不変) 属性が設定されていることを示します
      ----i---------e------ /bin/bash
      # 両方の属性が設定されていることを示します
      ----ia--------e------ /bin/bash

      出力に i または a フラグが含まれている場合は、次のステップで削除します。それ以外の場合は、ステップ 3 に進みます。

    2. 属性を削除します。

      # 'i' 属性が設定されている場合は、このコマンドを実行します
      sudo chattr -i /bin/bash
      # 'a' 属性が設定されている場合は、このコマンドを実行します
      sudo chattr -a /bin/bash

      属性を削除した後、次のステップに進みます。

  3. パスの権限を確認して修正します。

    1. 完全な権限パスを確認します。

      sudo namei -l /bin/bash
      f: /bin/bash
      dr-xr-xr-x root root /
      dr-xr-xr-x root root bin
      -r-xr-xr-x root root bash

      パス内の各ディレクトリには、実行 (x) 権限が必要です。出力で権限が不足していることが示された場合は、修正する必要があります。それ以外の場合は、ステップ 4 に進みます。

      たとえば、ルートディレクトリ (/) の権限が dr--r--r-- であった場合、修正が必要な実行権限が欠落していることを示します。
    2. chmod を使用して正しい権限を適用します。

      # ルートディレクトリ (/) の正しい権限
      sudo chmod 755 /
      
      # /bin ディレクトリの正しい権限
      sudo chmod 755 /bin
      
      # /bin/bash ファイルの正しい権限
      sudo chmod 755 /bin/bash
  4. 修正を検証します。

    su コマンドを再度実行して、ターゲットユーザーに切り替えます。これでエラーは解決されるはずです。