PAM модулот е непознат: кој процес всушност не успеа
Пораката именува споделен објект и влезна точка, а не лозинка. Најдете го процесот што ја запишал, па проверете вчитување, симболи и гаранции на стекот.
Читајте ја оваа фраза како изјава за споделен објект и покажувач на функција, а не за лозинка. Истите зборови можат да дојдат од OpenVPN приклучок, од PAM стек вчитан за една услуга или од внатрешноста на демонот RADIUS, и тоа се три различни истраги. Прво определете го процесот.
Проверките подолу претпоставуваат дека пораката се појавила преку интеграција на Linux-PAM при најава на VPN. Ако дошла од сопствената конфигурација на серверот RADIUS, почнете од доказите на тој демон.
Именувајте го процесот пред да го именувате пакетот
Три компоненти се нарекуваат модул и ниту една не е заменлива. Приклучокот за автентикација OpenVPN го вчитува демонот VPN и тој го спроведува интерфејсот за повратен повик на тој демон. PAM модулот е споделен објект што libpam го вчитува за именувана услуга, и што спроведува влезни точки како pam_sm_authenticate. Модулот FreeRADIUS е дел од сопствената конфигурација на тој демон. Порака со истите зборови може да дојде од кој било од трите, затоа првото прашање е која линија од дневникот ја создала.
Поврзете го временскиот печат на еден неуспешен обид помеѓу дневникот на VPN и системскиот дневник за автентикација, потоа прочитајте ги редовите пред резимето. Конкретната порака на вчитувачот обично веќе е таму.
Прочитајте ја грешката при вчитување, потоа влезната точка
PAM пријавува непознат модул кога не може да го вчита избраниот споделен објект, или кога вчитаниот објект не ја обезбедува функцијата што ја бара тој запис од стекот. Тоа се различни поправки: првата е проблем со патека, пакување или ABI, а втората е неусогласена влезна точка. На линијата за автентикација ѝ треба pam_sm_authenticate а на линијата за сметка ѝ треба pam_sm_acct_mgmt, и библиотека што спроведува само едно од нив ќе пропадне на другото, како што кодот на испраќачот покажува. Наоѓањето на датотеката на дискот не докажува ниту едно.
Земањето библиотека со слично име од друга дистрибуција или архитектура на процесорот не е поправка и може да остави процес да вчитува модул што никогаш не бил тестиран против неговиот libpam. Проверете го пакетот што ја поседува предвидената патека и вистинската архитектура на датотеката пред да промените нешто.
Задржете ги гаранциите што ги даваше стекот
Најбрзиот начин да ја замолчите оваа грешка е и најлошиот: да означите задолжителен модул како изборен, да ја избришете фазата за сметка, или да вметнете безусловна дозвола. Секоја од нив ја претвора неуспешната проверка во отсутна проверка, и најавата потоа успева од причини што никој не ги предвидел. Ресетирањето лозинки и промената на заедничка тајна исто така не ја обезбедуваат функцијата што недостасува, бидејќи дефектот се случува пред било кои акредитиви да стигнат до backend.
Стек со повеќе модули можеби имал извршено друг backend пред неуспешниот запис, затоа грешката не докажува дека не е испратено барање RADIUS.
Проверете ја најавата, а не модулот
Откако ќе се исправи неусогласеноста, тестирајте ја вистинската патека за прием. Валидна сметка треба да помине, невалидните акредитиви треба сѐ уште да не успеат, а забранетата сметка треба сѐ уште да биде одбиена. Потврдете и дека барањето за сертификат или дополнителен фактор сѐ уште се спроведува, бидејќи поправен стек што прескокнува фаза изгледа како успех од страна на клиентот.
Чистото вчитување на модул е напредок, а не завршен тест.
Запишете кое име на услуга, кои датотеки со политики и кои влезни точки биле вклучени, заедно со единствениот обид што го користевте како доказ. Токму овој запис го прави следниот случај пребарување, а не археолошка вежба.