全部产品
Search
文档中心

:Cara mengatasi kegagalan login pada instans Linux yang disebabkan oleh konfigurasi PAM yang salah

更新时间:Dec 03, 2025

Deskripsi masalah

Konfigurasi Pluggable Authentication Modules (PAM) yang salah pada sistem Linux dapat mencegah Anda login ke instans. Masalah ini sering kali ditandai oleh salah satu pesan error berikut di log sistem /var/log/secure:

  • requirement "uid >= 1000" not met by user "xxxx"

  • user xxxx (0) has 5 failed attempts, failed attempts threshold is 3

  • Refused user xxxx for service sshd

Solusi

Penting

Anda harus memiliki akses administratif ke instans (seperti root atau user dengan hak sudo) untuk memodifikasi file konfigurasi.

Identifikasi masalah

  1. Sebagai administrator, login ke instans Elastic Compute Service (ECS) melalui VNC.

    1. Buka halaman ECS console - Instances.Di pojok kiri atas, pilih wilayah dan resource group instans Anda.

    2. Pada halaman detail instance, klik Connect dan pilih VNC. Masukkan username dan kata sandi untuk login ke instans ECS.

  2. Periksa log autentikasi untuk mengidentifikasi akar masalah.

    • Akun terkunci karena percobaan login gagal: Jika log menampilkan pesan Maximum amount of failed attempts was reached, artinya sistem telah mengunci akun Anda sebagai tindakan keamanan. Anda perlu unlock akun tersebut.

      sudo grep -i "Maximum amount of failed attempts" /var/log/secure
    • Izin login pengguna dibatasi: Jika log berisi pesan requirement "uid >= 1000" not met by user , berarti ada aturan yang mencegah pengguna dengan UID di bawah 1000 untuk login. Anda harus menghapus pembatasan UID untuk mengatasi masalah tersebut.

      sudo grep -i "not met by user" /var/log/secure
    • Pengguna berada di denylist: Jika log berisi Refused user, artinya pengguna tersebut berada di denylist atau tidak tercantum dalam allowlist. Anda perlu modifikasi allowlist atau denylist untuk mengatasi masalah tersebut.

      sudo grep -i "Refused user" /var/log/secure

Unlock akun

  1. Periksa jumlah percobaan login yang gagal untuk pengguna tersebut.

    Ganti <username> dengan username yang bermasalah.

    sudo pam_tally2 -u <username>

    Jika jumlah percobaan gagal lebih dari 0, berarti akun tersebut terkunci.

  2. Unlock akun tersebut.

    sudo pam_tally2 -u <username> -r
  3. Terapkan perbaikan secara permanen (opsional).

    Untuk menonaktifkan kebijakan penguncian secara permanen, edit file /etc/pam.d/system-auth dan komentari baris yang berisi pam_tally2.so.

    sudo vim /etc/pam.d/system-auth

    Konfigurasi berikut akan mengunci akun pengguna biasa dan akun pengguna root setelah tiga kali percobaan kata sandi yang salah secara berturut-turut. Akun akan terkunci selama 50 detik.

    auth required pam_tally2.so deny=3 unlock_time=50  
    Contoh di atas menggunakan modul pam_tally2. Modul yang digunakan dapat bervariasi, tergantung versi PAM. Untuk informasi lebih lanjut, lihat Linux-PAM System Administrators' Guide.
  4. Masuk kembali ke instans untuk memverifikasi bahwa Anda sudah dapat login dengan lancar.

Menghapus pembatasan UID

  1. Temukan file konfigurasi.

    Cari file konfigurasi yang berisi pam_succeed_if, seperti /etc/pam.d/sshd, /etc/pam.d/login, atau /etc/pam.d/system-auth.

    sudo grep -r "pam_succeed_if" /etc/pam.d/
  2. Periksa dan modifikasi konfigurasinya.

    sudo vim /etc/pam.d/sshd

    Di setiap file yang ditemukan, komentari baris yang berisi auth required pam_succeed_if.so uid >= 1000 dengan menambahkan tanda # di awal baris.

    # auth required pam_succeed_if.so uid >= 1000
  3. Masuk kembali ke instans untuk memverifikasi bahwa Anda sudah dapat login dengan lancar.

Memodifikasi Allowlist atau Denylist

  1. Temukan file konfigurasi.

    Cari file konfigurasi yang berisi pam_listfile, seperti /etc/pam.d/sshd, /etc/pam.d/login, atau /etc/pam.d/system-auth.

    sudo grep -r "pam_listfile" /etc/pam.d/
  2. Periksa konfigurasinya.

    sudo vim /etc/pam.d/sshd

    Periksa baris konfigurasi. Parameter sense menentukan apakah daftar tersebut merupakan allowlist (sense=allow) atau denylist (sense=deny). Lihat path file dari parameter file=, seperti /etc/ssh/whitelist atau /etc/ssh/blacklist.

    # Mengonfigurasi allowlist. Hanya pengguna yang tercantum dalam allowlist yang diizinkan login.
    auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
    
    # Mengonfigurasi denylist. User yang tercantum dalam denylist dilarang login.
    auth required pam_listfile.so item=user sense=deny  file=/etc/ssh/blacklist onerr=fail
  3. Ubah file daftar sesuai jenisnya.

    • Untuk allowlist: Tambahkan username pada baris baru di akhir file. Simpan dan tutup file.

      sudo vim /etc/ssh/whitelist
    • Untuk denylist: Hapus baris yang berisi username yang dituju. Simpan dan tutup file.

      sudo vim /etc/ssh/blacklist
  4. Masuk kembali ke instans untuk memverifikasi bahwa Anda sudah dapat login dengan lancar.