All Products
Search
Document Center

:Pemecahan masalah kegagalan login terkait PAM pada instans Linux

Last Updated:Sep 19, 2026

Deskripsi masalah

Konfigurasi PAM yang salah atau file modul PAM yang hilang pada instans Linux dapat mencegah proses login. Periksa /var/log/secure untuk menemukan pesan error berikut:

  • 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

  • PAM unable to dlopen(/usr/lib64/security/pam_lastlog.so): /usr/lib64/security/pam_lastlog.so: cannot open shared object file: No such file or directory

Solusi

Penting

Anda harus login ke instans dengan akun administratif (seperti root atau pengguna dengan hak istimewa sudo) untuk mengubah file konfigurasi PAM.

Identifikasi masalah

  1. Login ke instans ECS melalui VNC sebagai administrator.

    1. Buka halaman ECS console - Instances. Pilih wilayah dan kelompok sumber daya Anda.

    2. Pada halaman detail instans, klik Connect dan pilih VNC. Masukkan username dan password untuk login.

  2. Periksa log autentikasi untuk pesan error utama.

    • Akun terkunci karena upaya gagal: Jika log berisi Maximum amount of failed attempts was reached, akun tersebut terkunci setelah beberapa kali upaya login gagal. Unlock akun tersebut.

      sudo grep -i "Maximum amount of failed attempts" /var/log/secure
    • Login pengguna dibatasi: Jika log berisi requirement "uid >= 1000" not met by user, suatu aturan mencegah pengguna dengan UID kurang dari 1000 untuk login. Hapus pembatasan UID tersebut.

      sudo grep -i "not met by user" /var/log/secure
    • Pengguna ada di denylist: Jika log berisi Refused user, ini menunjukkan bahwa daftar izin (allowlist) atau daftar larangan (denylist) mengontrol akses pengguna. Pengguna tersebut berada di denylist atau tidak ada di allowlist. Anda harus mengubah allowlist atau denylist tersebut.

      sudo grep -i "Refused user" /var/log/secure
    • File modul PAM hilang: Jika log berisi PAM unable to dlopen dan No such file or directory, file modul PAM yang dirujuk sistem (seperti pam_lastlog.so) hilang. Anda harus memulihkan modul PAM yang hilang tersebut.

      sudo grep -i "unable to dlopen" /var/log/secure

Buka kunci akun

  1. Periksa jumlah upaya login gagal. Ganti <username> dengan username yang terdampak.

    sudo pam_tally2 -u <username>

    Jika jumlah upaya gagal lebih besar dari 0, akun tersebut terkunci.

  2. Unlock akun tersebut.

    sudo pam_tally2 -u <username> -r
  3. (Opsional) Nonaktifkan kebijakan penguncian secara permanen.

    Edit /etc/pam.d/system-auth dan beri komentar pada aturan yang berisi pam_tally2.so.

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

    Aturan ini mengunci akun biasa maupun root setelah tiga kali percobaan password salah berturut-turut, dengan unlock otomatis setelah 50 detik.

    auth required pam_tally2.so deny=3 unlock_time=50  
    Contoh ini menggunakan modul pam_tally2. Modul aktual dapat berbeda tergantung versi PAM. Lihat Linux-PAM System Administrators' Guide.
  4. Login kembali ke instans untuk memverifikasi bahwa login berhasil.

Hapus pembatasan UID

  1. Temukan file konfigurasi.

    Cari file 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. Ubah konfigurasi.

    sudo vim /etc/pam.d/sshd

    Beri komentar pada baris yang berisi auth required pam_succeed_if.so uid >= 1000 dengan menambahkan # di awal baris.

    # auth required pam_succeed_if.so uid >= 1000
  3. Login kembali ke instans untuk memverifikasi bahwa login berhasil.

Ubah allowlist atau denylist

  1. Temukan file konfigurasi.

    Cari file 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 konfigurasi.

    sudo vim /etc/pam.d/sshd

    Parameter sense menunjukkan allowlist (sense=allow) atau denylist (sense=deny). Catat path file pada parameter file=, seperti /etc/ssh/whitelist atau /etc/ssh/blacklist.

    # A whitelist is configured. Only users in the whitelist are allowed to log on.
    auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
    
    # A blacklist is configured. Users in the blacklist are prohibited from logging on.
    auth required pam_listfile.so item=user sense=deny  file=/etc/ssh/blacklist onerr=fail
  3. Ubah file daftar tersebut.

    • Untuk allowlist: Tambahkan username pada baris baru. Simpan dan keluar.

      sudo vim /etc/ssh/whitelist
    • Untuk denylist: Hapus baris yang berisi username target. Simpan dan keluar.

      sudo vim /etc/ssh/blacklist
  4. Login kembali ke instans untuk memverifikasi bahwa login berhasil.

Pulihkan modul PAM yang hilang

  1. Identifikasi paket yang memiliki modul yang hilang.

    Laporan diagnostik atau log sistem menentukan path modul yang hilang, misalnya /usr/lib64/security/pam_lastlog.so. Jalankan perintah berikut untuk mengidentifikasi paket yang memiliki file tersebut. Perintah rpm -qf melakukan kueri ke database RPM dan tetap berfungsi meskipun file tersebut sudah hilang.

    rpm -qf /usr/lib64/security/pam_lastlog.so

    Output contoh berikut menunjukkan bahwa modul tersebut termasuk dalam paket pam.

    pam-1.3.1-39.1.al8.x86_64

    Anda juga dapat menjalankan dnf provides "*/pam_lastlog.so" untuk mengidentifikasi paket pemiliknya.

  2. Instal ulang paket untuk memulihkan file modul yang hilang.

    Ganti pam dengan nama paket yang diidentifikasi pada langkah sebelumnya.

    sudo dnf reinstall pam -y

    Pada sistem yang menggunakan yum sebagai manajer paket, seperti CentOS 7, ganti dnf dengan yum pada perintah di atas.

  3. Verifikasi bahwa modul telah dipulihkan.

    ls -l /usr/lib64/security/pam_lastlog.so

    Jika file modul tersebut ada, proses pemulihan telah selesai.

  4. Login kembali ke instans untuk memverifikasi bahwa login berhasil.

Catatan

Setelah pemulihan, diagnostik kesehatan instans mungkin masih melaporkan masalah ini berdasarkan log error historis yang dihasilkan sebelum pemulihan. Tunggu beberapa saat lalu jalankan diagnostik lagi.