全部产品
Search
文档中心

:Mengatasi error "su: failed to execute /bin/bash: Permission denied" pada instans Linux

更新时间:Dec 03, 2025

Deskripsi masalah

Saat menjalankan perintah su untuk berganti ke pengguna lain, Anda menerima pesan error berikut:

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

Penyebab

Error ini terjadi karena izin pada path ke /bin/bash tidak mencukupi. Secara khusus, file tersebut atau direktori induknya tidak memiliki izin eksekusi (x). Tanpa izin tersebut, sistem tidak dapat mengakses file eksekusi /bin/bash untuk memulai sesi shell baru.

Solusi

  1. Login ke instance ECS.

    1. Buka ECS console - Instance. Pada bilah navigasi atas, pilih wilayah dan resource group yang dituju.

    2. Buka halaman detail instans yang dituju. Klik Connect dan pilih Workbench. Ikuti petunjuk di layar untuk login ke terminal.

  2. Periksa dan hapus atribut immutable.

    Jika sebuah file memiliki atribut immutable atau append-only, Anda tidak dapat mengubah izinnya sampai atribut tersebut dihapus.

    1. Periksa atribut immutable.

      sudo lsattr /bin/bash
      # Menunjukkan bahwa atribut 'a' (append-only) telah diatur
      ----a---------e------ /bin/bash
      # Menunjukkan bahwa atribut 'i' (immutable) telah diatur
      ----i---------e------ /bin/bash
      # Menunjukkan bahwa kedua atribut telah diatur
      ----ia--------e------ /bin/bash

      Jika output menampilkan flag i atau a, lanjutkan ke langkah berikutnya untuk menghapusnya. Jika tidak, lewati ke Langkah 3.

    2. Hapus atribut tersebut.

      # Hapus atribut 'i'
      sudo chattr -i /bin/bash
      # Hapus atribut 'a'
      sudo chattr -a /bin/bash

      Setelah atribut dihapus, lanjutkan ke langkah berikutnya.

  3. Verifikasi dan perbaiki izin path.

    1. Periksa seluruh izin path.

      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

      Setiap direktori dalam path harus memiliki izin eksekusi (x). Jika output menunjukkan ada izin yang hilang, perbaiki segera. Jika tidak, lanjutkan ke Langkah 4.

      Sebagai contoh, jika izin untuk direktori root (/) adalah dr--r--r--, ini menandakan bahwa izin eksekusi tidak ada dan perlu diperbaiki.
    2. Terapkan izin yang benar menggunakan chmod.

      # Perbaiki izin untuk direktori root (/)
      sudo chmod 755 /
      
      # Perbaiki izin untuk direktori /bin
      sudo chmod 755 /bin
      
      # Perbaiki izin untuk file /bin/bash
      sudo chmod 755 /bin/bash
  4. Verifikasi perbaikan.

    Jalankan kembali perintah su untuk mengganti pengguna. Jika izin telah dikoreksi dengan benar, error tersebut tidak akan muncul lagi.