Tüm Ürünler
Search
Belge Merkezi

:Troubleshoot PAM-related logon failures on Linux instances

Son Güncelleme:Sep 30, 2026

Sorun açıklaması

Bir Linux örneğindeki yanlış PAM yapılandırması veya eksik PAM modül dosyaları oturum açmayı engelleyebilir. Aşağıdaki hata mesajları için /var/log/secure dosyasını kontrol edin:

  • 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

Çözüm

Önemli

PAM yapılandırma dosyalarını değiştirmek için örneğe yönetici hesabıyla (örneğin root veya sudo ayrıcalıklarına sahip bir kullanıcı) oturum açmanız gerekir.

Sorun tanımlama

  1. Yönetici olarak VNC üzerinden ECS örneğine bağlanın.

    1. ECS konsolu - Örnekler sayfasına gidin. Bölgenizi ve kaynak grubunuzu seçin.

    2. Örnek ayrıntıları sayfasında, Connect öğesine tıklayın ve VNC seçeneğini belirleyin. Oturum açmak için kullanıcı adını ve parolayı girin.

  2. Ana hata mesajlarını görmek için kimlik doğrulama günlüklerini kontrol edin.

    • Hesap başarısız denemeler nedeniyle kilitlendi: Günlükte Maximum amount of failed attempts was reached ifadesi yer alıyorsa, hesap birden fazla başarısız oturum açma denemesinden sonra kilitlenmiştir. Hesabın kilidini açın.

      sudo grep -i "Maximum amount of failed attempts" /var/log/secure
    • Kullanıcı oturum açma işlemi kısıtlandı: Günlükte requirement "uid >= 1000" not met by user ifadesi yer alıyorsa, bir kural UID değeri 1000'den küçük olan kullanıcıların oturum açmasını engelliyor demektir. UID kısıtlamasını kaldırın.

      sudo grep -i "not met by user" /var/log/secure
    • Kullanıcı engelleme listesinde : Günlükte Refused user ifadesi yer alıyorsa, bu durum kullanıcı erişiminin bir izin listesine veya engelleme listesine göre kontrol edildiğini gösterir. Kullanıcı ya engelleme listesindedir ya da izin listesinde değildir. İzin listesini veya engelleme listesini değiştirin.

      sudo grep -i "Refused user" /var/log/secure
    • Bir PAM modül dosyası eksik: Günlükte PAM unable to dlopen ve No such file or directory ifadeleri yer alıyorsa, sistem tarafından başvurulan bir PAM modül dosyası (örneğin pam_lastlog.so) eksiktir. Eksik PAM modülünü geri yükleyin.

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

Hesabın kilidini açın

  1. Başarısız oturum açma deneme sayısını kontrol edin. <username> yerine etkilenen kullanıcı adını yazın.

    sudo pam_tally2 -u <username>

    Başarısız deneme sayısı 0'dan büyükse hesap kilitlenmiş demektir.

  2. Hesabın kilidini açın.

    sudo pam_tally2 -u <username> -r
  3. (İsteğe bağlı) Kilitleme ilkesini kalıcı olarak devre dışı bırakın.

    /etc/pam.d/system-auth dosyasını düzenleyin ve pam_tally2.so içeren kuralı yorum satırı yapın.

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

    Bu kural, hem normal hem de root hesaplarını üç ardışık yanlış parola denemesinden sonra kilitler ve 50 saniye sonra otomatik olarak kilidi açar.

    auth required pam_tally2.so deny=3 unlock_time=50  
    Bu örnekte pam_tally2 modülü kullanılmıştır. Gerçek modül, PAM sürümüne göre farklılık gösterebilir. Linux-PAM Sistem Yöneticileri Kılavuzu'na bakın.
  4. Oturum açmanın çalıştığını doğrulamak için örneğe yeniden bağlanın.

UID kısıtlamasını kaldırın

  1. Yapılandırma dosyasını bulun.

    pam_succeed_if içeren dosyaları arayın; örneğin /etc/pam.d/sshd, /etc/pam.d/login veya /etc/pam.d/system-auth.

    sudo grep -r "pam_succeed_if" /etc/pam.d/
  2. Yapılandırmayı değiştirin.

    sudo vim /etc/pam.d/sshd

    auth required pam_succeed_if.so uid >= 1000 içeren satırın başına # ekleyerek bu satırı yorum satırı yapın.

    # auth required pam_succeed_if.so uid >= 1000
  3. Oturum açmanın çalıştığını doğrulamak için örneğe yeniden bağlanın.

İzin listesini veya engelleme listesini değiştirin

  1. Yapılandırma dosyasını bulun.

    pam_listfile içeren dosyaları arayın; örneğin /etc/pam.d/sshd, /etc/pam.d/login veya /etc/pam.d/system-auth.

    sudo grep -r "pam_listfile" /etc/pam.d/
  2. Yapılandırmayı inceleyin.

    sudo vim /etc/pam.d/sshd

    sense parametresi bir izin listesini (sense=allow) veya engelleme listesini (sense=deny) belirtir. file= parametresindeki dosya yolunu not edin; örneğin /etc/ssh/whitelist veya /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. Liste dosyasını değiştirin.

    • İzin listesi için: Yeni bir satıra kullanıcı adını ekleyin. Kaydedip çıkın.

      sudo vim /etc/ssh/whitelist
    • Engelleme listesi için: Hedef kullanıcı adını içeren satırı silin. Kaydedip çıkın.

      sudo vim /etc/ssh/blacklist
  4. Oturum açmanın çalıştığını doğrulamak için örneğe yeniden bağlanın.

Eksik bir PAM modülünü geri yükleyin

  1. Eksik modüle sahip paketi belirleyin.

    Tanılama raporu veya sistem günlüğü, eksik modülün yolunu belirtir; örneğin /usr/lib64/security/pam_lastlog.so. Dosyaya sahip paketi belirlemek için aşağıdaki komutu çalıştırın. rpm -qf komutu RPM veritabanını sorgular ve dosya zaten eksik olsa bile çalışır.

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

    Aşağıdaki örnek çıktı, modülün pam paketinin parçası olduğunu gösterir.

    pam-1.3.1-39.1.al8.x86_64

    Sahip paketi belirlemek için dnf provides "*/pam_lastlog.so" komutunu da çalıştırabilirsiniz.

  2. Eksik modül dosyasını geri yüklemek için paketi yeniden yükleyin.

    pam yerine önceki adımda belirlenen paket adını yazın.

    sudo dnf reinstall pam -y

    CentOS 7 gibi yum'u paket yöneticisi olarak kullanan sistemlerde, yukarıdaki komutta dnf yerine yum yazın.

  3. Modülün geri yüklendiğini doğrulayın.

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

    Modül dosyası mevcutsa geri yükleme tamamlanmış demektir.

  4. Oturum açmanın çalıştığını doğrulamak için örneğe yeniden bağlanın.

Not

Geri yüklemeden sonra, örnek sağlık tanılama aracı geri yüklemeden önce oluşturulan geçmiş hata günlüklerine dayanarak bu sorunu bildirmeye devam edebilir. Bir süre bekleyin ve tanılama işlemini tekrar çalıştırın.