Saat menggunakan perintah passwd untuk mengganti kata sandi instans ECS Linux, Anda mungkin menerima error passwd: Module is unknown dan passwd: password unchanged. Error ini biasanya menunjukkan adanya masalah pada konfigurasi Pluggable Authentication Modules (PAM), seperti modul PAM yang hilang atau salah konfigurasi. PAM adalah framework yang digunakan sistem Linux untuk mengelola otentikasi pengguna.
Gejala
Perintah passwd gagal, dan pesan berikut dikembalikan:
passwd: Module is unknown
passwd: password unchanged
Upaya mengatur ulang kata sandi instans secara online menggunakan Cloud Assistant gagal, dan pesan berikut dikembalikan:
Key pair [t-zjk5191zbypjytc] has been removed
chpasswd: (user root) pam_chauthtok() failed, error:
Module is unknown
chpasswd: (line 1, user root) password not changed
Password reset failed.
Kemungkinan penyebab
-
Modul PAM tidak terinstal atau hilang: Modul PAM yang diperlukan, seperti
pam_unix.soataupam_pwquality.so, hilang, dihapus, atau rusak. -
Berkas konfigurasi PAM salah: Berkas konfigurasi PAM di direktori
/etc/pam.d/, seperticommon-passwordatausystem-auth, mereferensikan modul yang tidak ada atau berisi path atau parameter modul yang salah. -
Konfigurasi kebijakan kata sandi salah: Berkas
/etc/security/pwquality.confsalah konfigurasi, sehingga mencegah modulpam_pwquality.sobekerja dengan benar.
Solusi
Langkah 1: Periksa pam_unix.so
-
Sambungkan ke instans Linux Anda.
Untuk informasi lebih lanjut, lihat Masuk ke instans Linux menggunakan Workbench.
-
Periksa apakah modul
pam_unix.soada:sudo find / -name "pam_unix.so"Catatan-
Jika
pam_unix.soada, lanjutkan ke Langkah 2: Periksa konfigurasi pam_pwquality.so. -
Jika
pam_unix.sotidak ada, paket induknya mungkin hilang atau file pustaka sistem rusak. Instal ulang paket PAM. Modulpam_unix.somerupakan modul inti PAM yang menangani otentikasi pengguna dasar dan manajemen kata sandi.
-
-
Instal ulang paket PAM yang diperlukan.
-
Ubuntu/Debian
sudo apt-get update sudo apt-get install --reinstall libpam-modules -
CentOS/RHEL/Alibaba Cloud Linux
sudo yum reinstall pam
-
-
Jalankan kembali perintah berikut untuk memverifikasi bahwa
pam_unix.soada.sudo find / -name "pam_unix.so"
Langkah 2: Periksa konfigurasi pam_pwquality.so
Modul pam_pwquality.so digunakan untuk meningkatkan pemeriksaan kompleksitas kata sandi, seperti panjang minimum dan jenis karakter. Jika pam_pwquality.so diaktifkan pada sistem, pengguna harus memenuhi aturan kompleksitas yang ditentukan saat mengganti kata sandi mereka.
-
Periksa log sistem untuk pesan error terkait
pam_pwquality.so, sepertiModule is unknownataupam_chauthtok() failed.-
Ubuntu/Debian:
sudo tail -f /var/log/auth.log -
CentOS/RHEL/Alibaba Cloud Linux:
sudo tail -f /var/log/secureCatatanSebagai contoh, pesan error berikut mungkin dikembalikan:
PAM unable to dlopen(pam_puquality.so): /lib/security/pam_puquality.so: cannot open shared object file: No such file or directory PAM adding faulty module: pam_puquality.soLog tersebut menunjukkan bahwa sistem gagal memuat modul
pam_pwquality.so. Hal ini mungkin terjadi karena modulpam_pwquality.sobelum terinstal atau path instalasinya salah.
-
-
Jalankan perintah berikut untuk memeriksa apakah
pam_pwquality.soterinstal.sudo find / -name "pam_pwquality.so"Jika output menyerupai berikut, berarti modul tersebut telah terinstal.
/usr/lib/x86_64-linux-gnu/security/pam_pwquality.so -
-
Langkah 3: Verifikasi perbaikan
Coba ganti kata sandi lagi untuk memverifikasi perbaikan.
passwd